boxscore/security
CVE · referencelatest edition

Reference page — cumulative record through Sunday, October 4, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.

CVE-2026-64416

Linux Linux — mm: swap_cgroup: fix NULL deref in lookup_swap_cgroup_id on swapless host
  AV  AC  PR  UI  S  C  I  A   CVSS    EPSS   %ile   KEV
   L   L   L   N  U  N  N  H    5.5   .0012    1.7     —
AFFECTED
  Product  Versions                                    Fixed
  Linux    bea67dcc5eea0f6a213897a59b9e644977cd07e6 –  —
  Linux    6.12 –                                      6.12.97
TIMELINE
  Jul 19  Reserved by Linux
  Jul 25  Published (CNA: Linux)
  Sep 4   ENRICHED — CVE-2026-64416 (Linux). Received CVSS 5.5 and CPE data from NVD.
CWE-476 · CNA: Linux · CVSS v3.1 · 4 references · NVD status: Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: mm: swap_cgroup: fix NULL deref in lookup_swap_cgroup_id on swapless host lookup_swap_cgroup_id() passes swap_cgroup_ctrl[type].map to __swap_cgroup_id_lookup() without checking that the type was ever registered via swap_cgroup_swapon(). On a swapless host every ctrl->map is NULL, so __swap_cgroup_id_lookup() dereferences NULL + a scaled swp_offset(). Since commit bea67dcc5eea ("mm: attempt to batch free swap entries for zap_pte_range()"), zap_pte_range() -> swap_pte_batch() calls lookup_swap_cgroup_id() on any non-present, non-none PTE that decodes as a real swap entry, without first validating it against swap_info[]. A single PTE corrupted into a type-0 swap entry takes the host down at process exit. We hit this in production on a swapless 6.12.58 host: ~1s of "get_swap_device: Bad swap file entry 3f800204222bb" (do_swap_page() being correctly defensive about the same entry) followed by BUG: unable to handle page fault for address: 000003f800204220 RIP: 0010:lookup_swap_cgroup_id+0x2b/0x60 Call Trace: swap_pte_batch+0xbf/0x230 zap_pte_range+0x4c8/0x780 unmap_page_range+0x190/0x3e0 exit_mmap+0xd9/0x3c0 do_exit+0x20c/0x4b0 syzbot has reported the identical stack. The source of the PTE corruption is a separate bug; this change makes the teardown path as robust as the fault path already is. Every other caller of lookup_swap_cgroup_id() is downstream of a get_swap_device() that has already validated the entry, so the new branch is cold.

Lifecycle

Complete event history — 3 events, chronological
DateEventDetail
July 19, 2026ReservedReserved by Linux
July 25, 2026PublishedPublished (CNA: Linux)
September 4, 2026ENRICHEDENRICHED — CVE-2026-64416 (Linux). Received CVSS 5.5 and CPE data from NVD.

Affected

Affected products and packages — 2 rows
VendorProduct / PackageEcosystemVersion introducedFixed
LinuxLinux—bea67dcc5eea0f6a213897a59b9e644977cd07e6—
LinuxLinux—6.126.12.97

Weaknesses

CWE-476

References (4)

Related

Authoritative record: CVE-2026-64416 at cve.org

Vendors: linux

Weaknesses: CWE-476

About this page

This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-64416 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Sunday, October 4, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.