s2
--:--:--UTC

Searching APEX

Starting…

  1. ○ Searching Threats, IOCs & Threat Intelligence locally
  2. ○ Querying external providers
  3. ○ Asking AI Forensic Validator
  4. ○ Creating new entry from validated hit

0s elapsed

CVE-2026-45837

📛 CVE Title

bpf: Fix use-after-free in arena_vm_close on fork

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix use-after-free in arena_vm_close on fork arena_vm_open() only bumps vml->mmap_count but never registers the child VMA in arena->vma_list. The vml->vma always points at the parent VMA, so after parent munmap the pointer dangles. If the child then calls bpf_arena_free_pages(), zap_pages() reads the stale vml->vma triggering use-after-free. Fix this by preventing the arena VMA from being inherited across fork with VM_DONTCOPY, and preventing VMA splits via the may_split callback. Also reject mremap with a .mremap callback returning -EINVAL. A same-size mremap(MREMAP_FIXED) on the full arena VMA reaches copy_vma() through the following path: check_prep_vma() - returns 0 early: new_len == old_len skips VM_DONTEXPAND check prep_move_vma() - vm_start == old_addr and vm_end == old_addr + old_len so may_split is never called move_vma() copy_vma_and_data() copy_vma() vm_area_dup() - copies vm_private_data (vml pointer) vm_ops->open() - bumps vml->mmap_count vm_ops->mremap() - returns -EINVAL, rollback unmaps new VMA The refcount ensures the rollback's arena_vm_close does not free the vml shared with the original VMA.

Overview

State
PUBLISHED
Assigner (CNA)
Linux
CVSS severity
high
CVSS score
CVSS 7.8 / 10 7.8 7.8 / 10
CVSS vector
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Effective score
7.8 / 10 HIGH source: CNA overview
CWE(s)
—
Reserved
2026-05-13
Published
2026-05-27 09:24 UTC
Last updated
2026-05-27 09:24 UTC
Source
https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/45xxx/CVE-2026-45837.json
Linked Threat
CVE-2026-45837 — CVE-2026-45837

NVD triage scoring NVD CVE 2.0

Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.

NVD published
2026-05-27 11:16:23 UTC
NVD last modified
2026-06-26 19:09:14 UTC
NVD CVSS v3.1
CVSS 7.8 / 10 7.8 7.8 / 10 HIGH source: nvd@nist.gov
NVD CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Exploitability subscore
1.8 / 10
Impact subscore
5.9 / 10
EPSS score
0.0012 (probability of exploitation in next 30 days)
EPSS percentile
1.91% vs all CVEs — higher = more likely to be exploited, as of 2026-07-26

NVD-assigned CWE(s): CWE-416 (differs from the CNA list above)

NVD / KEV / EPSS data refreshed 2026-07-27 11:57 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.

European Union Vulnerability Database ENISA EUVD

ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.

EUVD ID
EUVD-2026-32163
Assigner
Linux
Published
May 27, 2026, 9:24:32 AM
Updated
Jun 14, 2026, 5:46:01 PM
EUVD base score
0.0 / 10
EUVD-reported EPSS
0.1200
Vendors
Linux
Products
Linux (patch: 0)
Linux (patch: 6.18.30)
Linux (317460317a02a1af512697e6e964298dedd8a163 <4fddde2a732de60bb97e3307d4eb69ac5f1d2b74)
Linux (317460317a02a1af512697e6e964298dedd8a163 <d18099f19e53250f8ad2801498b88cec29d9107a)
Linux (patch: 7.1)
Linux (patch: 7.0.7)
Linux (patch: 6.12.88)
Linux (317460317a02a1af512697e6e964298dedd8a163 <723b9fa930cc277c15ce6b9ec9feec828cfac9d7)
Linux (317460317a02a1af512697e6e964298dedd8a163 <201128fcc7b213d27ab77bc4e89488b41796480f)
Linux (6.9)
Aliases
GHSA-5vq6-7cj2-4m9j

ENISA description: In the Linux kernel, the following vulnerability has been resolved: bpf: Fix use-after-free in arena_vm_close on fork arena_vm_open() only bumps vml->mmap_count but never registers the child VMA in arena->vma_list. The vml->vma always points at the parent VMA, so after parent munmap the pointer dangles. If the child then calls bpf_arena_free_pages(), zap_pages() reads the stale vml->vma triggering use-after-free. Fix this by preventing the arena VMA from being inherited across fork with VM_DONTCOPY, and preventing VMA splits via the may_split callback. Also reject mremap with a .mremap callback returning -EINVAL. A same-size mremap(MREMAP_FIXED) on the full arena VMA reaches copy_vma() through the following path: check_prep_vma() - returns 0 early: new_len == old_len skips VM_DONTEXPAND check prep_move_vma() - vm_start == old_addr and vm_end == old_addr + old_len so may_split is never called move_vma() copy_vma_and_data() copy_vma() vm_area_dup() - copies vm_private_data (vml pointer) vm_ops->open() - bumps vml->mmap_count vm_ops->mremap() - returns -EINVAL, rollback unmaps new VMA The refcount ensures the rollback's arena_vm_close does not free the vml shared with the original VMA.

EUVD references (4)

Affected products (2)

VendorProductVersionsPlatforms
Linux Linux 317460317a02a1af512697e6e964298dedd8a163 (affected), 317460317a02a1af512697e6e964298dedd8a163 (affected), 317460317a02a1af512697e6e964298dedd8a163 (affected), 317460317a02a1af512697e6e964298dedd8a163 (affected) —
Linux Linux 6.9 (affected), 0 (unaffected), 6.12.88 (unaffected), 6.18.30 (unaffected), 7.0.7 (unaffected), 7.1-rc1 (unaffected) —

Affected products — CPE 2.3 (1) NVD

NVD's normalized CPE 2.3 matchers, used by vendor tools (vulnerability scanners, asset managers) for automated detection. Compare with the CNA's free-text "Affected products" section above.

  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

Vendor references (4)

References embedded in the original CVE record by the assigning CNA.

Web references (7)

DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.

NVD-tagged references (4)

Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.

Remediations (18)

Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.

AI Forensic Analysis

Only Available for Registered Users. Sign in to view.

Raw JSON

The full cvelistV5 record. Download as CVE-2026-45837.json.

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/arena.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "723b9fa930cc277c15ce6b9ec9feec828cfac9d7",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "d18099f19e53250f8ad2801498b88cec29d9107a",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "201128fcc7b213d27ab77bc4e89488b41796480f",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "4fddde2a732de60bb97e3307d4eb69ac5f1d2b74",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/arena.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.88",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.30",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.88",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.30",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.7",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1-rc1",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix use-after-free in arena_vm_close on fork\n\narena_vm_open() only bumps vml->mmap_count but never registers the\nchild VMA in arena->vma_list. The vml->vma always points at the\nparent VMA, so after parent munmap the pointer dangles. If the child\nthen calls bpf_arena_free_pages(), zap_pages() reads the stale\nvml->vma triggering use-after-free.\n\nFix this by preventing the arena VMA from being inherited across\nfork with VM_DONTCOPY, and preventing VMA splits via the may_split\ncallback.\n\nAlso reject mremap with a .mremap callback returning -EINVAL. A\nsame-size mremap(MREMAP_FIXED) on the full arena VMA reaches\ncopy_vma() through the following path:\n\n  check_prep_vma()       - returns 0 early: new_len == old_len\n                           skips VM_DONTEXPAND check\n  prep_move_vma()        - vm_start == old_addr and\n                           vm_end == old_addr + old_len\n                           so may_split is never called\n  move_vma()\n    copy_vma_and_data()\n      copy_vma()\n        vm_area_dup()    - copies vm_private_data (vml pointer)\n        vm_ops->open()   - bumps vml->mmap_count\n      vm_ops->mremap()   - returns -EINVAL, rollback unmaps new VMA\n\nThe refcount ensures the rollback's arena_vm_close does not free\nthe vml shared with the original VMA."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-27T09:24:32.833Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/723b9fa930cc277c15ce6b9ec9feec828cfac9d7"
        },
        {
          "url": "https://git.kernel.org/stable/c/d18099f19e53250f8ad2801498b88cec29d9107a"
        },
        {
          "url": "https://git.kernel.org/stable/c/201128fcc7b213d27ab77bc4e89488b41796480f"
        },
        {
          "url": "https://git.kernel.org/stable/c/4fddde2a732de60bb97e3307d4eb69ac5f1d2b74"
        }
      ],
      "title": "bpf: Fix use-after-free in arena_vm_close on fork",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-45837",
    "datePublished": "2026-05-27T09:24:32.833Z",
    "dateReserved": "2026-05-13T15:03:33.077Z",
    "dateUpdated": "2026-05-27T09:24:32.833Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}