CVE-2026-23128
Description
A flaw was found in the Linux kernel on arm64 systems with Control Flow Integrity (CFI) enabled. During hibernate resume, the swsusp_arch_resume() function attempts to verify a CFI hash when calling swsusp_arch_suspend_exit(), which is marked as SYM_CODE and lacks a CFI hash. This causes a data abort (DABT) and kernel crash when resuming from hibernation, resulting in a failed resume operation.
Statement
This flaw affects arm64 systems with CFI enabled that use hibernation. Even if server or desktop Linux deployments uses hibernation, still the CFI is not universally enabled. Android-based systems using hibernation with CFI-enabled kernels are the primary affected platforms. On arm64 systems with kernel CFI enabled, resuming from hibernation can crash due to a control flow integrity mismatch. The hibernation resume path swsusp_arch_resume calls into a copied instance of swsusp_arch_suspend_exit located in the hibernate exit text region. The referenced suspend exit entrypoint is defined using SYM_CODE and therefore does not carry a CFI type hash. When swsusp_arch_resume performs the indirect call into this copied code, CFI attempts to validate the target and fails because the expected hash is missing. On affected Android based devices this manifests as a data abort and kernel oops during resume, resulting in a denial of service by preventing successful restoration from hibernation.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5.5 | 5.5 | N/A |
| Attack Vector | Local | Local | N/A |
| Attack Complexity | Low | Low | N/A |
| Privileges Required | Low | Low | N/A |
| User Interaction | None | None | N/A |
| Scope | Unchanged | Unchanged | N/A |
| Confidentiality | None | None | N/A |
| Integrity Impact | None | None | N/A |
| Availability Impact | High | High | N/A |
Vector
Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Understanding the Weakness (CWE)
Integrity,Other
Technical Impact: Modify Application Data; Other
Integrity checks usually use a secret key that helps authenticate the data origin. Skipping integrity checking generally opens up the possibility that new data from an invalid source can be injected.
Integrity,Other
Technical Impact: Other
Data that is parsed and used may be corrupted.
Non-Repudiation,Other
Technical Impact: Hide Activities; Other
Without a checksum check, it is impossible to determine if any changes have been made to the data after it was sent.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.