The bpf verifier in the Linux kernel did not properly handle mod32 destination register truncation when the source register was known to be 0. A local attacker with the ability to load bpf programs could use this gain out-of-bounds reads in kernel memory leading to information disclosure (kernel memory), and possibly out-of-bounds writes that could potentially lead to code execution. This issue was addressed in the upstream kernel in commit 9b00f1b78809 ("bpf: Fix truncation handling for mod32 dst reg wrt zero") and in Linux stable kernels 5.11.2, 5.10.19, and 5.4.101.
Solution:
When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur.
The product reads data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b00f1b78809 | patch vendor advisory mailing list |
https://www.openwall.com/lists/oss-security/2021/03/23/2 | third party advisory mailing list |
http://www.openwall.com/lists/oss-security/2021/03/23/2 | third party advisory mailing list |
http://packetstormsecurity.com/files/162117/Kernel-Live-Patch-Security-Notice-LSN-0075-1.html | third party advisory vdb entry |
https://security.netapp.com/advisory/ntap-20210416-0006/ | third party advisory |
https://lists.debian.org/debian-lts-announce/2021/10/msg00010.html | third party advisory mailing list |
http://packetstormsecurity.com/files/164950/Kernel-Live-Patch-Security-Notice-LSN-0082-1.html | third party advisory vdb entry |