CVE-2026-98049CWE-681

CVE-2026-98049

Medium · published September 25, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
1.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00122 · 1.8th percentile
Weakness
CWE-681 · Incorrect Conversion between Numeric Types
Published
2026-09-25T15:17Z
Affected products (2)
ProductVersionsFixed in
linux/linux_kernel≥ 6.10, < 7.2.77.2.7
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:23Z
    bpf: zero extend the result of an arena 32-bit cmpxchg
    cvelistv5