CVE-2026-98589 bpf: Reject pkt arguments in mutating subprogs
A Linux kernel BPF verifier flaw allows memory corruption via packet pointers in mutating subprograms, enabling local privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-98589?
CVE-2026-98589 is a memory corruption vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject pkt arguments in mutating subprogs
The verifier tracks changes in how PTR_TO_PACKET registers' bounds are modified across subprog boundaries. PTR_TO_PACKET registers are actually passed as PTR_TO_MEM, which is assumed valid for the entire call. This is not the case with packet memory, where a pskb_* call may invalidate its memory region.
Reject BPF code that passes PTR_TO_PACKET pointers to subprogs that may mutate a packet. We cannot pass the pointer as a true PTR_TO_PACKET because we would also need to somehow pass the PTR_TO_PACKET_META or PTR_TO_PACKET_END to the subprog. Since we cannot avoid representing the pointer in the subprog as PTR_TO_MEM, only permit it if the subprog is guaranteed not to mutate the packet.
Which versions are affected by CVE-2026-98589?
How do I fix CVE-2026-98589?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-98589 being exploited?
There is no known exploitation of CVE-2026-98589 in the wild and no public exploit code.
Sources
Also known as AZL-109116, BELL-CVE-2026-98589, DEBIAN-CVE-2026-98589, GHSA-2cxv-r576-wfcv, UBUNTU-CVE-2026-98589.