{"id":"CVE-2026-98132","published":"2026-09-25T11:17:44.603","lastModified":"2026-09-25T11:17:44.603","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: don't downgrade half-dead scalar zero spills to STACK_ZERO\n\nstates.c:__clean_func_state() can downgrade scalar zero spill to\nSTACK_ZERO in the following case:\n\n  *(u64 *)(r10 - 8) = 0;\n  ... checkpoint ...\n  r1 = *(u32 *)(r10 - 4);\n  ... no reads from r10-8 ...\n\nHere 4 bytes at r10-8 are dead and verifier changes scalar spill to a\ncombination: 0000pppp (p stands for poison). Such a change breaks\nprecision propagation chains. All places that produce STACK_ZERO\nshould call bpf_mark_chain_precision() for the zero source.\n\nThis patch fixes the bug in a simplest way possible:\navoids converting stack spills of zero to STACK_ZERO.\nTwo smarter approaches are possible:\n- do bpf_mark_chain_precision() from __clean_func_state()\n- check slot liveness information in check_stack_write_fixed_off()\n\nI investigated both and the changes required are a bit tricky,\nhence go with a simple fix for the time being.","cvssScore":null,"cvssSeverity":null,"cvssVector":null,"cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/2f3536bff8823d3c5fdbbe15e17bfca696cc2b2e","tags":[]},{"url":"https://git.kernel.org/stable/c/436fa689630b741a77ef8c4a6f426479affd5bac","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}