---
id: CVE-2026-98049
title: |-
  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_PRO…
summary: |-
  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_PRO…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-681
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 6.10, < 7.2.7'
  - linux_kernel = 7.3
patched:
  - linux_kernel 7.2.7
published: '2026-09-25'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T11:18:10.553'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98049'
references:
  - url: 'https://git.kernel.org/stable/c/1c1b476d43a8b6c9bc04600369dd8cc39950d98e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4814ed6406f3493bd554ad046da5f7fc04833571'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6bb6ae5ab1beffda51dabf41612f501d07f10fc6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98049.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-98049'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2541265'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-98049'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98049'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-98049.mbox
  - url: 'https://git.kernel.org/stable/c/1bb1be18263995b159cf5afad3a05500ba6d2a7b'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00155
epssPercentile: 0.04559
ingestedAt: '2026-09-25T11:06:38.848Z'
---

## Overview

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.

## Affected

- `linux_kernel >= 6.10, < 7.2.7`
- `linux_kernel = 7.3`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.2.7`

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-28 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98049.json)
