Assigner | Linux |
Reserved | 2024-02-27 |
Published | 2024-02-27 |
Updated | 2024-06-04 |
Description
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.
Product status
ae03b6b1c880 before 4d542ddb88fb
f92a819b4cbe before 0e2dfdc74a7f
979d63d50c0c before 53e0db429b37
979d63d50c0c before 2cfa537674cd
979d63d50c0c before 6eba92a4d4be
979d63d50c0c before 7cf64d8679ca
979d63d50c0c before b9b34ddbe207
5.0
Any version before 5.0
4.14.233
4.19.190
5.4.117
5.10.35
5.11.19
5.12.2
5.13
References
https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba
https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c
https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848
https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d
https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc
https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66
https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807