CVE Catalog

CVE-2026-98599

Low risk· EPSS 8%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

8th percentile - higher than 8% of all known CVEs

Summary

In the Linux kernel, stack_slot_obj_get_spi() does not reject non-negative offsets. For off == 0 the computed spi equals that of the valid stack slot at fp-8, so a PTR_TO_STACK register holding fp+0 can be validated against an iterator stored at fp-8, and an effectful iterator kfunc can interpret memory outside the BPF stack as iterator state.

Risk Assessment

This can lead to BPF stack boundary violations, incorrect eBPF program behavior, or potential privilege escalation in the system.

Recommendation

Update the Linux kernel to a version with the fix that rejects non-negative offsets before converting the offset to an spi in stack_slot_obj_get_spi().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject non-negative offsets in stack_slot_obj_get_spi() bpf_get_spi() computes (-off - 1) / BPF_REG_SIZE using C division, which truncates toward zero. For off == 0, this produces spi 0, the same index used by the valid stack slot at fp-8. stack_slot_obj_get_spi() currently checks alignment and the resulting spi bounds, but does not reject the non-negative offset itself. It can therefore validate a PTR_TO_STACK register holding fp+0 against an iterator stored at fp-8 even though the runtime receives the actual fp+0 pointer. An effectful iterator kfunc can then interpret memory outside the BPF stack as iterator state. Reject non-negative offsets before converting the offset to an spi. All valid stack objects begin at a negative offset from the frame pointer.

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