bpf: Fix use-after-free in arena_vm_close on fork (Linux Linux)

CVE-2026-45837
HIGH 7.8

En bref

Source
NVD
EPSS
EPSS 0.12 % · centile 2 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Analyzed

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.

Faiblesses (CWE)

  • CWE-416 — Utilisation après libération

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected 317460317a02a1af512697e6e964298dedd8a163 < 723b9fa930cc277c15ce6b9ec9feec828cfac9d7 ; affected 317460317a02a1af512697e6e964298dedd8a163 < d18099f19e53250f8ad2801498b88cec29d9107a ; affected 317460317a02a1af512697e6e964298dedd8a163 < 201128fcc7b213d27ab77bc4e89488b41796480f ; affected 317460317a02a1af512697e6e964298dedd8a163 < 4fddde2a732de60bb97e3307d4eb69ac5f1d2b74
Linux · Linuxaffected 6.9 ; unaffected 0 < 6.9 ; unaffected 6.12.88 ≤ 6.12.* ; unaffected 6.18.30 ≤ 6.18.* ; unaffected 7.0.7 ≤ 7.0.* ; unaffected 7.1 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD