CVE-2021-46974
published 2024-02-27CVE-2021-46974: In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for the case…
PriorityP419medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.25%
16.0th percentile
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic for the case where the off_reg is sitting in the
dst register is not correct given then we cannot just invert the add
to a sub or vice versa. As a fix, perform the final bitwise and-op
unconditionally into AX from the off_reg, then move the pointer from
the src to dst and finally use AX as the source for the original
pointer arithmetic operation such that the inversion yields a correct
result. The single non-AX mov in between is possible given constant
blinding is retaining it as it's not an immediate based operation.
Affected
23 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.10.38-1 (bookworm) | linux 5.10.38-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | >= 4.14.113 < 4.14.233 | 4.14.233 |
| linux | linux | >= 4.19.19 < 4.19.190 | 4.19.190 |
| linux | linux | >= 4.20.6 < 4.21 | 4.21 |
| linux | linux | >= 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 < 53e0db429b37a32b8fc706d0d90eb4583ad13848 | 53e0db429b37a32b8fc706d0d90eb4583ad13848 |
| linux | linux | >= 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 < 2cfa537674cd1051a3b8111536d77d0558f33d5d | 2cfa537674cd1051a3b8111536d77d0558f33d5d |
| linux | linux | >= 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 < 6eba92a4d4be8feb4dc33976abac544fa99d6ecc | 6eba92a4d4be8feb4dc33976abac544fa99d6ecc |
| linux | linux | >= 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 < 7cf64d8679ca1cb20cf57d6a88bfee79a0922a66 | 7cf64d8679ca1cb20cf57d6a88bfee79a0922a66 |
| linux | linux | >= 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 < b9b34ddbe2076ade359cd5ce7537d5ed019e9807 | b9b34ddbe2076ade359cd5ce7537d5ed019e9807 |
| linux | linux | >= ae03b6b1c880a03d4771257336dc3bca156dd51b < 4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba | 4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba |
| linux | linux | >= f92a819b4cbef8c9527d9797110544b2055a4b96 < 0e2dfdc74a7f4036127356d42ea59388f153f42c | 0e2dfdc74a7f4036127356d42ea59388f153f42c |
| linux | linux_kernel | >= 0 < 5.10.38-1 | 5.10.38-1 |
| linux | linux_kernel | >= 0 < 5.10.38-1 | 5.10.38-1 |
| linux | linux_kernel | >= 0 < 5.10.38-1 | 5.10.38-1 |
| linux | linux_kernel | >= 0 < 5.10.38-1 | 5.10.38-1 |
| linux | linux_kernel | >= 4.14.113 < 4.14.233 | 4.14.233 |
| linux | linux_kernel | >= 4.19.19 < 4.19.190 | 4.19.190 |
| linux | linux_kernel | >= 5.0 < 5.4.117 | 5.4.117 |
| linux | linux_kernel | >= 5.11 < 5.11.19 | 5.11.19 |
| linux | linux_kernel | >= 5.12 < 5.12.2 | 5.12.2 |
| linux | linux_kernel | >= 5.5 < 5.10.35 | 5.10.35 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
kernel: bpf: Fix masking negation logic upon negative dst register
vendor_redhat·2024-02-27·CVSS 5.5
CVE-2021-46974 [MEDIUM] CWE-20 kernel: bpf: Fix masking negation logic upon negative dst register
kernel: bpf: Fix masking negation logic upon negative dst register
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic for the case where the off_reg is sitting in the
dst register is not correct given then we cannot just invert the add
to a sub or vice versa. As a fix, perform the final bitwise and-op
unconditionally into AX from the off_reg, then move the pointer from
the src to dst and finally use AX as the source for the original
pointer arithmetic operation such that the inversion yields a correct
result. The single non-AX mov in between is possible given constant
blinding is retaining it as it's not an immediate based operation.
Statement: No Red Hat Products are affected by this vulnerabi
Debian
CVE-2021-46974: linux - In the Linux kernel, the following vulnerability has been resolved: bpf: Fix ma...
vendor_debian·2021·CVSS 5.5
CVE-2021-46974 [MEDIUM] CVE-2021-46974: linux - In the Linux kernel, the following vulnerability has been resolved: bpf: Fix ma...
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for the case where the off_reg is sitting in the dst register is not correct given then we cannot just invert the add to a sub or vice versa. As a fix, perform the final bitwise and-op unconditionally into AX from the off_reg, then move the pointer from the src to dst and finally use AX as the source for the original pointer arithmetic operation such that the inversion yields a correct result. The single non-AX mov in between is possible given constant blinding is retaining it as it's not an immediate based operation.
Scope: local
bookworm: resolved (fixed in 5.10.38-1)
bullseye: resolved (fixed in 5.10.38-1)
forky: resolved (fixed in 5.10.38-1)
OSV
CVE-2021-46974: In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for
osv·2024-02-27·CVSS 5.5
CVE-2021-46974 [MEDIUM] CVE-2021-46974: In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for the case where the off_reg is sitting in the dst register is not correct given then we cannot just invert the add to a sub or vice versa. As a fix, perform the final bitwise and-op unconditionally into AX from the off_reg, then move the pointer from the src to dst and finally use AX as the source for the original pointer arithmetic operation such that the inversion yields a correct result. The single non-AX mov in between is possible given constant blinding is retaining it as it's not an immediate based operation.
GHSA
GHSA-78xq-q56p-fpwx: In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic fo
ghsa_unreviewed·2024-02-27
CVE-2021-46974 [MEDIUM] GHSA-78xq-q56p-fpwx: In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic fo
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix masking negation logic upon negative dst register
The negation logic for the case where the off_reg is sitting in the
dst register is not correct given then we cannot just invert the add
to a sub or vice versa. As a fix, perform the final bitwise and-op
unconditionally into AX from the off_reg, then move the pointer from
the src to dst and finally use AX as the source for the original
pointer arithmetic operation such that the inversion yields a correct
result. The single non-AX mov in between is possible given constant
blinding is retaining it as it's not an immediate based operation.
No detection rules found.
No public exploits indexed.
https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42chttps://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5dhttps://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6bahttps://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecchttps://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42chttps://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5dhttps://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6bahttps://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecchttps://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807
2024-02-27
Published