Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-64183

CVE-2026-64183: Linux Kernel Use-After-Free Vulnerability

CVE-2026-64183 is a use-after-free vulnerability in the Linux kernel affecting EFI runtime workqueue allocation. This flaw can lead to NULL pointer dereferences during ACPI PRM calls, compromising system stability.

Published:

CVE-2026-64183 Overview

CVE-2026-64183 is a null pointer dereference vulnerability in the Linux kernel's Extensible Firmware Interface (EFI) subsystem. The flaw affects the interaction between Advanced Configuration and Power Interface (ACPI) Platform Runtime Mechanism (PRM) handlers and the EFI runtime workqueue. ACPI PRM calls can occur before efisubsys_init() allocates the workqueue used to dispatch these calls, resulting in a null pointer dereference during early kernel initialization. The issue was introduced by commit 5894cf571e14 ("acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers"), which delegated PRM invocations to a kernel-thread workqueue.

Critical Impact

Early-boot null pointer dereference in EFI/ACPI PRM handling can trigger a kernel crash before userspace initialization completes.

Affected Products

  • Linux kernel versions containing commit 5894cf571e14 prior to the fix
  • Systems using ACPI Platform Runtime Mechanism (PRM) handlers
  • Systems relying on EFI runtime services during subsys_initcall() execution

Discovery Timeline

  • 2026-07-19 - CVE-2026-64183 published to NVD
  • 2026-07-19 - Last updated in NVD database

Technical Details for CVE-2026-64183

Vulnerability Analysis

The Linux kernel delegates ACPI PRM calls to a workqueue running in a kernel thread. This design allows the kernel to detect and mitigate faulting memory accesses performed by firmware code. The workqueue is allocated inside efisubsys_init(), which runs at subsys_initcall() level.

The problem arises because acpi_init() also runs at subsys_initcall() level and may trigger PRM accesses before efisubsys_init() executes. When PRM handlers dispatch work to a workqueue that has not yet been allocated, the kernel dereferences a null workqueue pointer.

Deferring acpi_init() is not viable because it has its own initcall ordering dependencies. The fix moves the workqueue allocation into a dedicated postcore_initcall(), which runs before all subsys_initcall() handlers. This guarantees the workqueue exists before any subsystem attempts EFI runtime calls, including PRM invocations.

Root Cause

The root cause is an initcall ordering flaw. Both acpi_init() and efisubsys_init() are registered as subsys_initcall() handlers, and their relative execution order does not guarantee that the EFI runtime workqueue exists before ACPI PRM handlers attempt to use it.

Attack Vector

This vulnerability is triggered during early kernel boot on systems that expose ACPI PRM handlers through firmware. The trigger is dependent on platform firmware behavior rather than direct attacker input. Successful triggering produces a kernel null pointer dereference, resulting in denial of service through a boot-time crash.

No public proof-of-concept exploit is available, and there is no evidence of exploitation in the wild. Refer to the upstream commits referenced below for the code-level fix.

Detection Methods for CVE-2026-64183

Indicators of Compromise

  • Kernel oops or panic messages referencing null pointer dereference within EFI runtime or ACPI PRM code paths during boot
  • Boot logs showing PRM handler invocation preceding EFI subsystem initialization
  • Systems failing to complete boot on hardware exposing ACPI PRM tables

Detection Strategies

  • Correlate kernel version against the fixed commits 13c6da02, 29cd94e6, 6996e954, c32a1fbe, and e871549f referenced in the upstream advisory
  • Inspect dmesg and persistent kernel logs for stack traces involving efi_call_rts or ACPI PRM workqueue functions
  • Audit firmware configurations that enable PRM handlers on affected kernel builds

Monitoring Recommendations

  • Collect and centralize kernel crash logs from Linux hosts to identify recurring early-boot faults
  • Track kernel package versions across the fleet to confirm the fix is applied
  • Monitor vendor kernel advisories for backports of the referenced stable commits

How to Mitigate CVE-2026-64183

Immediate Actions Required

  • Apply the upstream kernel fix that relocates the EFI runtime workqueue allocation to a postcore_initcall()
  • Update to a Linux kernel release incorporating commits 13c6da02, 29cd94e6, 6996e954, c32a1fbe, or e871549f
  • Reboot affected systems after patching to ensure the corrected initialization path is exercised

Patch Information

The fix splits the EFI runtime workqueue allocation into its own postcore_initcall(), ensuring the workqueue is available before any subsys_initcall() executes. Distribution kernel maintainers have backported the change through the stable tree commits listed in the Linux kernel git repository.

Workarounds

  • Disable ACPI PRM handler usage in firmware settings where the platform permits, eliminating the code path that triggers the null dereference
  • Boot with a kernel version that predates commit 5894cf571e14 if patching is not immediately feasible and platform support allows
  • Restrict deployment of affected kernel builds on hardware known to expose PRM tables until the fix is applied

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.