CVE Catalog

CVE-2026-98041

HighCVSS 7.0
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, the BPF verifier incorrectly predicted the outcome of pointer vs zero comparisons in JMP32 instructions, failing to distinguish BPF_JMP from BPF_JMP32 comparisons. This led to incorrect inference that a jump is always taken.

Risk Assessment

Incorrect branch prediction may allow bypassing verification and lead to unsafe pointer operations in the kernel.

Recommendation

Update the Linux kernel to a version containing the fix that disables prediction of pointer vs zero comparisons for JMP32.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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 ...'.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS