Back to overview

CVE-2026-64510

HIGH
7.0
CVSS 3.1
Description
In the Linux kernel, the following vulnerability has been resolved: ACPI: NFIT: core: Fix acpi_nfit_init() error cleanup If acpi_nfit_init() fails after adding the acpi_desc object to the acpi_descs list, that object is never removed from that list because the acpi_nfit_shutdown() devm action is not added for the NFIT device in that case. Next, the acpi_nfit_init() failure causes acpi_nfit_probe() to fail, the acpi_desc object is freed, and a dangling pointer is left behind in the acpi_descs. Any subsequent ACPI Machine Check Exception will trigger nfit_handle_mce() which iterates over acpi_descs and so a use-after-free will occur. Moreover, if acpi_nfit_probe() returns 0 after installing a notify handler for the NFIT device and without allocating the acpi_desc object and setting the NFIT device's driver data pointer, the acpi_desc object will be allocated by acpi_nfit_update_notify() and acpi_nfit_init() will be called to initialize it. Regardless of whether or not acpi_nfit_init() fails in that case, the acpi_nfit_shutdown() devm action is not added for the NFIT device and acpi_desc is never removed from the acpi_descs list. If the acpi_desc object is freed subsequently on driver removal, any subsequent ACPI MCE will lead to a use-after-free like in the previous case. To address the first issue mentioned above, make acpi_nfit_probe() call acpi_nfit_shutdown() directly on acpi_nfit_init() failures and to address the other one, add a remove callback to the driver and make it call acpi_nfit_shutdown(). Also, since it is now possible to pass NULL to acpi_nfit_shutdown() or the acpi_desc object passed to it may not have been initialized, add checks against NULL for acpi_desc and its nvdimm_bus field to that function and make acpi_nfit_unregister() clear the latter after unregistering the NVDIMM bus.

Metadata

CVE ID
CVE-2026-64510
State
PUBLISHED
Assigner
Linux
Reserved
2026-07-19 15:36 UTC
Published
2026-07-25 08:52 UTC
Last updated
2026-07-27 05:01 UTC
Vendor / Product
Linux / Linux
Sources
cve.org  ·  NVD

Severity & Metrics

7.0 HIGH CVSS 3.1
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products (2)
VendorProductPlatformVersions
Linux Linux — a61fe6f7902ecaa89d5e6c709490fc4324927134 < ee82078e776ae31266cc70fdf62ac17c3c6f100a, a61fe6f7902ecaa89d5e6c709490fc4324927134 < 6ff054cc02a763914773b026cacb429e5fbf64fa, a61fe6f7902ecaa89d5e6c709490fc4324927134 < b07d22a2d17ad6465c87bd5752bc70e4c16e0ee4, a61fe6f7902ecaa89d5e6c709490fc4324927134 < c127dbd832bd4b9aef8a749d9f491b74042f9b47 …
Linux Linux — 4.6, 0 < 4.6, 5.10.261 ≤ 5.10.*, 5.15.212 ≤ 5.15.* …
CVSS scores (1)
ScoreSeverityVersionSourceVector
7.0 HIGH 3.1 cna CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Back to overview