bpf: Don't predict JMP32 pointer vs zero comparisons
CVE-2026-98041 · published 25 Sept 2026
How serious is it
- Severity: high, CVSS score 7 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-98041?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
- Linux Linux: cac616db39c207dc63465a4e05c6ce0e60b2cce4 to < 6e1544986536734166176c3add504add23bcbd15, cac616db39c207dc63465a4e05c6ce0e60b2cce4 to < d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d, cac616db39c207dc63465a4e05c6ce0e60b2cce4 to < e2ae33247e8b2dbe9d116d3e61cadf6d548339c6, cac616db39c207dc63465a4e05c6ce0e60b2cce4 to < a4d7f94c1ca914469ced665ec2f98be669aef462
- Linux Linux: 5.8
How to check
- Find out whether you run the affected product and which version, then compare it with the versions above.
How to fix
Copies a prompt for Claude Code, Cursor or Codex that asks it to check whether you run this product.
- Apply the vendor's update or mitigation from the references below. If there is none yet, limit exposure of the affected service until there is.
- If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
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 ...'.
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- git.kernel.org/stable/c/6e1544986536734166176c3add504add23bcbd15
- git.kernel.org/stable/c/d16f0eafcaa62e677a2b5b0dabc1f8d31dfe3d4d
- git.kernel.org/stable/c/e2ae33247e8b2dbe9d116d3e61cadf6d548339c6
- git.kernel.org/stable/c/a4d7f94c1ca914469ced665ec2f98be669aef462
- git.kernel.org/stable/c/e51179a4e09846f8fd0f26a05068520de2b301bf
Merged from CVE List. Last updated 26 Oct 2026. All vulnerabilities · RSS · JSON