CVE-2026-53038
NoneCVSS
—
EPSS
0.2%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
Some Linux systems may crash or fail to start properly when their security hardware reports a hash type the operating system does not understand.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This Linux kernel flaw is a global out-of-bounds read in the Integrity Measurement Architecture (IMA) securityfs initialization path. When a TPM exposes a measurement bank using an algorithm the kernel does not recognize, the kernel initializes the bank's crypto identifier to an invalid sentinel value but later uses it as an index into the hash algorithm name table. On affected systems, this can cause an out-of-bounds memory read during creation of IMA measurement list files under securityfs, typically during early boot or IMA initialization. The most likely technical outcome is a kernel warning, KASAN finding, or boot-time kernel crash/panic depending on kernel build and panic policy; practical remote code execution is not indicated by the available information.
Why it matters to the business
The primary business risk is system availability and reliability for Linux hosts using TPM-backed IMA where the TPM advertises newer or unsupported hash algorithms, such as SHA3-256. Affected systems may fail to boot cleanly, panic during initialization, or produce integrity subsystem errors, which can disrupt servers, appliances, embedded systems, and measured-boot or compliance workflows. The issue is not listed in CISA KEV, has very low EPSS, is not known to be used in ransomware campaigns, and has no reported exploit maturity, so urgency is driven mainly by operational exposure rather than active exploitation.
How an attack unfolds
An attacker would need a way to cause the kernel to encounter an unsupported TPM measurement bank algorithm during IMA initialization. In a realistic scenario, this is usually a hardware, firmware, virtual TPM, or platform configuration condition rather than a remotely triggerable attack. During boot, the kernel enumerates TPM allocated banks; if one maps to an unsupported algorithm, the IMA securityfs code may still attempt to derive a filename using the invalid hash algorithm identifier. That invalid identifier is then used to index the kernel hash algorithm name array, resulting in an out-of-bounds read. On hardened/debug kernels this is detected by KASAN and may trigger a panic; on production kernels the effect may be a boot-time failure, kernel warning, or unstable IMA securityfs initialization. There is no public indication that threat actors are exploiting this vulnerability in the wild.
How to fix it
Upgrade to a Linux kernel release that includes the fix for IMA securityfs handling of unsupported TPM hash algorithms. The corrected behavior creates measurement list filenames using a generic TPM algorithm suffix, such as `_tpm_alg_<ID>`, when the kernel cannot map the TPM algorithm to a known crypto hash name. If vendor kernels are used, apply the distribution or appliance vendor's kernel update rather than attempting to backport manually. Where immediate patching is not possible, reduce exposure by avoiding TPM/vTPM configurations that advertise unsupported banks, disabling unsupported TPM banks in firmware where supported, or temporarily disabling IMA/TPM measurement features only if acceptable for the system's security and compliance requirements. Avoid disabling integrity measurement controls as a long-term mitigation.
How to confirm the fix worked
Confirm that the running kernel includes the vendor fix by checking the installed kernel package changelog or upstream stable release notes for the IMA securityfs unsupported TPM algorithm fix. Reboot into the updated kernel and review kernel logs for absence of `KASAN: global-out-of-bounds in create_securityfs_measurement_lists` and related IMA initialization failures. On systems with unsupported TPM banks, verify that `/sys/kernel/security/ima/` contains measurement files using the generic suffix format, for example `ascii_runtime_measurements_tpm_alg_27` or `binary_runtime_measurements_tpm_alg_27`, rather than causing a crash or warning. Also verify that IMA files such as `runtime_measurements_count`, `violations`, and `policy` remain accessible after boot.
Typical attack path
- Gain control over, or influence, TPM/vTPM firmware, platform firmware, virtual machine TPM configuration, or hardware presented to the Linux kernel.
- Configure or expose a TPM measurement bank using an algorithm not supported by the kernel TPM algorithm mapping, such as TPM_ALG_SHA3_256 / 0x0027 on affected kernels.
- Boot or initialize the affected Linux kernel with IMA and securityfs enabled.
- Allow IMA initialization to create runtime measurement list files for TPM banks.
- Trigger the invalid hash algorithm identifier to be used as an index into the hash algorithm name table.
- Cause a kernel out-of-bounds read, potentially resulting in a KASAN report, kernel warning, boot failure, or panic depending on system configuration.
How to detect it
Look for evidence of boot-time kernel faults during IMA initialization and TPM bank enumeration. Relevant log sources include `dmesg`, `journalctl -k`, `/var/log/kern.log`, `/var/log/messages`, serial console logs, crash dumps, pstore/ramoops records, and hypervisor console logs for virtual machines. Search for KASAN reports referencing `create_securityfs_measurement_lists`, `ima_fs_init`, `hash_algo_name`, or `global-out-of-bounds`, especially near TPM messages indicating an unsupported bank algorithm. Also search for `TPM with unsupported bank algorithm 0x0027`, which indicates exposure to the triggering condition observed in the report. If kernel panic or crash collection is enabled, inspect vmcore, kdump, pstore, and boot-failure artifacts for call traces involving IMA initialization. There are no known threat actor tradecraft indicators or post-exploitation artifacts specific to this vulnerability; detections are primarily reliability and exposure indicators rather than proof of compromise.
- KASAN: global-out-of-bounds in create_securityfs_measurement_lists
- global-out-of-bounds in create_securityfs_measurement_lists
- Read of size 8 at addr
- hash_algo_name
- ima_fs_init
- ima_init
- init_ima
- TPM with unsupported bank algorithm 0x0027
- TPM_ALG_SHA3_256
- /sys/kernel/security/ima/ascii_runtime_measurements_tpm_alg_27
- /sys/kernel/security/ima/binary_runtime_measurements_tpm_alg_27
What your security team should do
- Prioritize patching Linux systems that use TPM-backed IMA, measured boot, secure boot attestation, virtual TPMs, or custom hardware/firmware TPM configurations.
- Inventory systems with TPM 2.0 enabled and review boot logs for unsupported TPM bank algorithms, especially `0x0027` / SHA3-256.
- Apply vendor kernel updates through the normal OS distribution or appliance update channel and reboot into the fixed kernel.
- For systems that cannot be patched immediately, evaluate whether unsupported TPM banks can be disabled in firmware, hypervisor, or vTPM configuration without weakening required attestation controls.
- Monitor kernel logs after patching to confirm IMA initializes successfully and no KASAN or out-of-bounds warnings are present.
- Treat this as a reliability and platform-hardening issue rather than an active exploitation emergency unless local threat models include malicious firmware, hostile hypervisor control, or untrusted TPM/vTPM provisioning.
The record
In the Linux kernel, the following vulnerability has been resolved: ima_fs: Correctly create securityfs files for unsupported hash algos ima_tpm_chip->allocated_banks[i].crypto_id is initialized to HASH_ALGO__LAST if the TPM algorithm is not supported. However there are places relying on the algorithm to be valid because it is accessed by hash_algo_name[]. On 6.12.40 I observe the following read out-of-bounds in hash_algo_name: ================================================================== BUG: KASAN: global-out-of-bounds in create_securityfs_measurement_lists+0x396/0x440 Read of size 8 at addr ffffffff83e18138 by task swapper/0/1 CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.40 #3 Call Trace: <TASK> dump_stack_lvl+0x61/0x90 print_report+0xc4/0x580 ? kasan_addr_to_slab+0x26/0x80 ? create_securityfs_measurement_lists+0x396/0x440 kasan_report+0xc2/0x100 ? create_securityfs_measurement_lists+0x396/0x440 create_securityfs_measurement_lists+0x396/0x440 ima_fs_init+0xa3/0x300 ima_init+0x7d/0xd0 init_ima+0x28/0x100 do_one_initcall+0xa6/0x3e0 kernel_init_freeable+0x455/0x740 kernel_init+0x24/0x1d0 ret_from_fork+0x38/0x80 ret_from_fork_asm+0x11/0x20 </TASK> The buggy address belongs to the variable: hash_algo_name+0xb8/0x420 Memory state around the buggy address: ffffffff83e18000: 00 01 f9 f9 f9 f9 f9 f9 00 01 f9 f9 f9 f9 f9 f9 ffffffff83e18080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffffff83e18100: 00 00 00 00 00 00 00 f9 f9 f9 f9 f9 00 05 f9 f9 ^ ffffffff83e18180: f9 f9 f9 f9 00 00 00 00 00 00 00 04 f9 f9 f9 f9 ffffffff83e18200: 00 00 00 00 00 00 00 00 04 f9 f9 f9 f9 f9 f9 f9 ================================================================== Seems like the TPM chip supports sha3_256, which isn't yet in tpm_algorithms: tpm tpm0: TPM with unsupported bank algorithm 0x0027 That's TPM_ALG_SHA3_256 == 0x0027 from "Trusted Platform Module 2.0 Library Part 2: Structures", page 51 [1]. See also the related U-Boot algorithms update [2]. Thus solve the problem by creating a file name with "_tpm_alg_<ID>" postfix if the crypto algorithm isn't initialized. This is how it looks on the test machine (patch ported to v6.12 release): # ls -1 /sys/kernel/security/ima/ ascii_runtime_measurements ascii_runtime_measurements_tpm_alg_27 ascii_runtime_measurements_sha1 ascii_runtime_measurements_sha256 binary_runtime_measurements binary_runtime_measurements_tpm_alg_27 binary_runtime_measurements_sha1 binary_runtime_measurements_sha256 policy runtime_measurements_count violations [1]: https://trustedcomputinggroup.org/wp-content/uploads/Trusted-Platform-Module-2.0-Library-Part-2-Version-184_pub.pdf [2]: https://lists.denx.de/pipermail/u-boot/2024-July/558835.html
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|