CVE-2023-54146
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2023-54146 is a double-free vulnerability in the Linux kernel's x86 kexec subsystem, specifically within the crash_load_segments() function's error handling path. The flaw was introduced after commit b3e34a47f989 ("x86/kexec: fix memory leak of elf header buffer"), which added a vfree() call in the error path that became redundant — and dangerous — because kimage_file_post_load_cleanup() already handles freeing image->elf_headers. Affected kernel versions span from 5.19 through stable branches prior to the respective fixes (patched in 5.15.87, 6.0.19, 6.1.5, and 6.2). The CVE was published on December 24, 2025, and carries an EPSS score of 0.018% (very low), with no CVSS base score assigned at time of publication (Feedly, EUVD).

Technical details

The root cause is a double-free memory corruption bug (CWE-415) in the x86 kexec crash kernel loading path. When crash_load_segments() encounters an error after allocating the ELF header buffer (image->elf_headers), a superfluous vfree() call frees the buffer; subsequently, kimage_file_post_load_cleanup() attempts to free the same buffer again during cleanup, resulting in a double-free condition. The fix removes the redundant vfree() call from the error path of crash_load_segments(), relying solely on the existing cleanup function to manage the buffer's lifetime. Exploitation would require local kernel-level access to trigger the kexec crash kernel loading path under error conditions (Feedly, Kernel Patch 1).

Impact

A double-free in kernel memory can lead to heap corruption, potentially enabling a local attacker with sufficient privileges to escalate privileges, cause a kernel panic (denial of service), or achieve arbitrary code execution in kernel context. The vulnerability is confined to the x86 architecture's kexec crash kernel loading subsystem, limiting its scope to systems where kexec is enabled and accessible. Given the kernel-level nature of the bug, successful exploitation could result in complete system compromise or persistent denial of service (Feedly).

Mitigation and workarounds

The Linux kernel maintainers have released patches across multiple stable branches. Fixed versions include kernel 5.15.87, 6.0.19, 6.1.5, and 6.2. The fix removes the superfluous vfree() call from the error path of crash_load_segments() in arch/x86/kernel/crash.c. Administrators should update to a patched kernel version as soon as possible; as a temporary workaround, restricting access to kexec functionality (e.g., via kernel.kexec_load_disabled=1 sysctl) can reduce exposure on systems where kexec is not required (Kernel Patch 1, Kernel Patch 2, Kernel Patch 3).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64557NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-selftests-internal
NoNoJul 29, 2026
CVE-2026-64556NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-devel
NoNoJul 29, 2026
CVE-2026-64555NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fde-6.14
NoNoJul 27, 2026
CVE-2026-64554NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-gcp-6.14
NoYesJul 27, 2026
CVE-2026-64553NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-64k-debug-modules-internal
NoYesJul 27, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management