{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "d503a04f8bc0c75dc9db9452d8cc79d748afb752"
            },
            {
              "fixed": "1c1b476d43a8b6c9bc04600369dd8cc39950d98e"
            },
            {
              "fixed": "4814ed6406f3493bd554ad046da5f7fc04833571"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.10.0"
            },
            {
              "fixed": "7.2.7"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98049.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: zero extend the result of an arena 32-bit cmpxchg\n\nbpf_convert_ctx_accesses() rewrites an atomic on an arena pointer from\nBPF_STX | BPF_ATOMIC to BPF_STX | BPF_PROBE_ATOMIC, and it runs before\nbpf_opt_subreg_zext_lo32_rnd_hi32().\n\nThat pass emits an explicit zero extension for a 32-bit cmpxchg even\nwhen bpf_jit_needs_zext() is false. This is done because on some\narchitectures 32-bit cmpxchg requires explicit zero extension for the\ndst register. E.g. on x86-64 'lock cmpxchg' does not change the %eax\nif comparison is successful, while BPF semantics declare that each\noperation on a 32-bit register zero extends it's upper half.\n\nis_cmpxchg_insn() matches BPF_MODE == BPF_ATOMIC only, so an arena\ncmpxchg misses said zero extension adjustment. This patch adjusts\nis_cmpxchg_insn() to match BPF_PROBE_ATOMIC alongside BPF_ATOMIC.",
  "id": "CVE-2026-98049",
  "modified": "2026-09-27T03:30:19.890955308Z",
  "published": "2026-09-25T10:23:58.561Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/1c1b476d43a8b6c9bc04600369dd8cc39950d98e"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/4814ed6406f3493bd554ad046da5f7fc04833571"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98049.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98049"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "bpf: zero extend the result of an arena 32-bit cmpxchg"
}