CVE-2026-23044

PM: hibernate: Fix crash when freeing invalid crypto compressor

Published Feb 4, 2026 CVSS 3.1 · 5.5 Medium EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

PM: hibernate: Fix crash when freeing invalid crypto compressor

When crypto_alloc_acomp() fails, it returns an ERR_PTR value, not NULL.

The cleanup code in save_compressed_image() and load_compressed_image()
unconditionally calls crypto_free_acomp() without checking for ERR_PTR,
which causes crypto_acomp_tfm() to dereference an invalid pointer and
crash the kernel.

This can be triggered when the compression algorithm is unavailable
(e.g., CONFIG_CRYPTO_LZO not enabled).

Fix by adding IS_ERR_OR_NULL() checks before calling crypto_free_acomp()
and acomp_request_free(), similar to the existing kthread_stop() check.

[ rjw: Added 2 empty code lines ]

Analysis

AI-generated

Technical impact

When the Linux kernel attempts to save or load a hibernate image, it may try to free a crypto compressor that was never successfully allocated if the chosen compression algorithm (e.g., LZO) is not available. The cleanup code unconditionally calls crypto_free_acomp() on an error pointer, which dereferences an invalid address and causes a kernel panic. This loss of stability results in a full system reboot and loss of all services until the machine restarts.

Affected Systems

All Linux kernels that include the hibernate subsystem and invoke crypto_alloc_acomp during suspend or resume, regardless of distribution. Any build lacking the selected compression algorithm—such as a kernel compiled without CONFIG_CRYPTO_LZO—satisfies the conditions for the flaw.

Risk and Exploitability

The entry has a CVSS score of 5.5 and an EPSS score of less than 1%, indicating moderate severity and low likelihood of known exploitation. The vulnerability is not listed in the CISA KEV catalog. The most likely attack vector is a local action that triggers a suspend or resume operation; this typically requires privileged user access or system configuration changes. Because the flaw requires kernel‑mode execution and local privilege, remote exploitation is not viable without additional compromises.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that includes the authorization fix for CVE-2026-23044
  • If an upgrade is not immediately possible, disable the hibernate feature in the kernel configuration or at runtime to avoid the crash trigger
  • Ensure that the required crypto compression module (e.g., CONFIG_CRYPTO_LZO) is enabled or remove the dependency from the hibernate path

Generated by OpenCVE AI on April 18, 2026 at 14:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-8570-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8594-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8604-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8605-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8570-2 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8669-1 Linux kernel (NVIDIA) vulnerabilities
History
Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: PM: hibernate: Fix crash when freeing invalid crypto compressor When crypto_alloc_acomp() fails, it returns an ERR_PTR value, not NULL. The cleanup code in save_compressed_image() and load_compressed_image() unconditionally calls crypto_free_acomp() without checking for ERR_PTR, which causes crypto_acomp_tfm() to dereference an invalid pointer and crash the kernel. This can be triggered when the compression algorithm is unavailable (e.g., CONFIG_CRYPTO_LZO not enabled). Fix by adding IS_ERR_OR_NULL() checks before calling crypto_free_acomp() and acomp_request_free(), similar to the existing kthread_stop() check. [ rjw: Added 2 empty code lines ]
Title PM: hibernate: Fix crash when freeing invalid crypto compressor
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
May 11, 2026, 9:58 PM
Reserved
Jan 13, 2026, 3:37 PM
Status
Deferred
Published
Feb 4, 2026, 4:16 PM
Modified
Jun 17, 2026, 10:20 AM
Severity
Low
Public date
Feb 4, 2026, 12:00 AM