CVE-2026-98049 bpf: zero extend the result of an arena 32-bit cmpxchg
A missing zero-extension in BPF arena cmpxchg operations can lead to incorrect register states, potentially causing logic errors or undefined behavior in kernel BPF programs.
- 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-98049?
CVE-2026-98049 is a medium-severity vulnerability in Linux kernel, published on 25 Sep 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: zero extend the result of an arena 32-bit cmpxchg
bpf_convert_ctx_accesses() rewrites an atomic on an arena pointer from BPF_STX | BPF_ATOMIC to BPF_STX | BPF_PROBE_ATOMIC, and it runs before bpf_opt_subreg_zext_lo32_rnd_hi32().
That pass emits an explicit zero extension for a 32-bit cmpxchg even when bpf_jit_needs_zext() is false. This is done because on some architectures 32-bit cmpxchg requires explicit zero extension for the dst register. E.g. on x86-64 'lock cmpxchg' does not change the %eax if comparison is successful, while BPF semantics declare that each operation on a 32-bit register zero extends it's upper half.
is_cmpxchg_insn() matches BPF_MODE == BPF_ATOMIC only, so an arena cmpxchg misses said zero extension adjustment. This patch adjusts is_cmpxchg_insn() to match BPF_PROBE_ATOMIC alongside BPF_ATOMIC.
Weakness: CWE-681
Which versions are affected by CVE-2026-98049?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-98049?
Apply the vendor's patch.
Is CVE-2026-98049 being exploited?
There is no known exploitation of CVE-2026-98049 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2026-98049, DEBIAN-CVE-2026-98049, GHSA-wmcq-6rpv-m375, UBUNTU-CVE-2026-98049.