CVE-2026-98041
7
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
bpf: Don't predict JMP32 pointer vs zero comparisons
Consider the following program:
r1 = map_value; /* low 32 bits are zero at runtime */
r6 = 0xdead000000000000;
if w1 != 0 goto l1;
l0: r1 += r6;
r2 = *(u64 *)(r1 + 0);
exit;
l1: r6 = 0;
goto l0;
At the moment is_branch_taken() reports the jump as always taken, because it does not distinguish between BPF_JMP and BPF_JMP32 comparisons when processing 'if w1 != 0 …'.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | cac616db39c207dc63465a4e05c6ce0e60b2cce4 < d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d | affected |
| Linux | Linux | cac616db39c207dc63465a4e05c6ce0e60b2cce4 < e2ae33247e8b2dbe9d116d3e61cadf6d548339c6 | affected |
| Linux | Linux | cac616db39c207dc63465a4e05c6ce0e60b2cce4 < a4d7f94c1ca914469ced665ec2f98be669aef462 | affected |
| Linux | Linux | cac616db39c207dc63465a4e05c6ce0e60b2cce4 < e51179a4e09846f8fd0f26a05068520de2b301bf | affected |
| Linux | Linux | 5.8 | affected |
| Linux | Linux | 0 < 5.8 | unaffected |
| Linux | Linux | 6.12.111 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.53 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.7 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d
- https://git.kernel.org/stable/c/e2ae33247e8b2dbe9d116d3e61cadf6d548339c6
- https://git.kernel.org/stable/c/a4d7f94c1ca914469ced665ec2f98be669aef462
- https://git.kernel.org/stable/c/e51179a4e09846f8fd0f26a05068520de2b301bf
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.