Skip to main content

CVE-2025-23149: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2025-23149cvecve-2025-23149
Published: Thu May 01 2025 (05/01/2025, 12:55:37 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: tpm: do not start chip while suspended Checking TPM_CHIP_FLAG_SUSPENDED after the call to tpm_find_get_ops() can lead to a spurious tpm_chip_start() call: [35985.503771] i2c i2c-1: Transfer while suspended [35985.503796] WARNING: CPU: 0 PID: 74 at drivers/i2c/i2c-core.h:56 __i2c_transfer+0xbe/0x810 [35985.503802] Modules linked in: [35985.503808] CPU: 0 UID: 0 PID: 74 Comm: hwrng Tainted: G W 6.13.0-next-20250203-00005-gfa0cb5642941 #19 9c3d7f78192f2d38e32010ac9c90fdc71109ef6f [35985.503814] Tainted: [W]=WARN [35985.503817] Hardware name: Google Morphius/Morphius, BIOS Google_Morphius.13434.858.0 10/26/2023 [35985.503819] RIP: 0010:__i2c_transfer+0xbe/0x810 [35985.503825] Code: 30 01 00 00 4c 89 f7 e8 40 fe d8 ff 48 8b 93 80 01 00 00 48 85 d2 75 03 49 8b 16 48 c7 c7 0a fb 7c a7 48 89 c6 e8 32 ad b0 fe <0f> 0b b8 94 ff ff ff e9 33 04 00 00 be 02 00 00 00 83 fd 02 0f 5 [35985.503828] RSP: 0018:ffffa106c0333d30 EFLAGS: 00010246 [35985.503833] RAX: 074ba64aa20f7000 RBX: ffff8aa4c1167120 RCX: 0000000000000000 [35985.503836] RDX: 0000000000000000 RSI: ffffffffa77ab0e4 RDI: 0000000000000001 [35985.503838] RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000000 [35985.503841] R10: 0000000000000004 R11: 00000001000313d5 R12: ffff8aa4c10f1820 [35985.503843] R13: ffff8aa4c0e243c0 R14: ffff8aa4c1167250 R15: ffff8aa4c1167120 [35985.503846] FS: 0000000000000000(0000) GS:ffff8aa4eae00000(0000) knlGS:0000000000000000 [35985.503849] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [35985.503852] CR2: 00007fab0aaf1000 CR3: 0000000105328000 CR4: 00000000003506f0 [35985.503855] Call Trace: [35985.503859] <TASK> [35985.503863] ? __warn+0xd4/0x260 [35985.503868] ? __i2c_transfer+0xbe/0x810 [35985.503874] ? report_bug+0xf3/0x210 [35985.503882] ? handle_bug+0x63/0xb0 [35985.503887] ? exc_invalid_op+0x16/0x50 [35985.503892] ? asm_exc_invalid_op+0x16/0x20 [35985.503904] ? __i2c_transfer+0xbe/0x810 [35985.503913] tpm_cr50_i2c_transfer_message+0x24/0xf0 [35985.503920] tpm_cr50_i2c_read+0x8e/0x120 [35985.503928] tpm_cr50_request_locality+0x75/0x170 [35985.503935] tpm_chip_start+0x116/0x160 [35985.503942] tpm_try_get_ops+0x57/0x90 [35985.503948] tpm_find_get_ops+0x26/0xd0 [35985.503955] tpm_get_random+0x2d/0x80 Don't move forward with tpm_chip_start() inside tpm_try_get_ops(), unless TPM_CHIP_FLAG_SUSPENDED is not set. tpm_find_get_ops() will return NULL in such a failure case.

AI-Powered Analysis

AILast updated: 07/03/2025, 22:11:14 UTC

Technical Analysis

CVE-2025-23149 is a vulnerability identified in the Linux kernel's Trusted Platform Module (TPM) driver subsystem. Specifically, the flaw arises from improper handling of the TPM chip state during system suspend and resume cycles. The vulnerability occurs because the kernel does not correctly check the TPM_CHIP_FLAG_SUSPENDED flag after invoking tpm_find_get_ops(), which can lead to an erroneous call to tpm_chip_start() while the TPM chip is still marked as suspended. This results in attempts to perform I2C transfers to the TPM chip during suspend, which is unsupported and triggers kernel warnings and potentially unstable behavior. The provided kernel log snippet shows a warning triggered by an I2C transfer during suspend, with a stack trace pointing to the TPM driver functions such as tpm_cr50_i2c_transfer_message and tpm_chip_start. The root cause is that tpm_chip_start() should not be called within tpm_try_get_ops() if the TPM_CHIP_FLAG_SUSPENDED flag is set, as tpm_find_get_ops() will return NULL in such cases. Failure to enforce this leads to spurious TPM chip start attempts during suspend, which can cause kernel warnings, potential crashes, or undefined behavior. Although no known exploits are reported in the wild, this vulnerability could be leveraged to cause denial of service or kernel instability on affected Linux systems. The affected versions include several recent Linux kernel commits identified by their hashes, indicating this is a recent regression or bug introduced in newer kernel versions. No CVSS score has been assigned yet, and no patches are linked in the provided data, but the issue is publicly disclosed and marked as published as of May 1, 2025.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions with TPM hardware enabled, especially those relying on TPM for security functions such as hardware-based key storage, secure boot, or cryptographic operations. The improper handling of TPM chip state during suspend could lead to kernel instability or crashes, resulting in denial of service conditions. This is particularly impactful for critical infrastructure, industrial control systems, and enterprise servers that require high availability and rely on TPM for security assurances. Organizations using Linux-based endpoints, servers, or embedded devices with TPM chips could experience unexpected reboots or system faults, potentially disrupting business operations or security services. Although exploitation does not appear to allow privilege escalation or data leakage directly, the stability issues could be leveraged by attackers to cause service interruptions or to facilitate further attacks by destabilizing the system. Given the widespread use of Linux in European data centers, cloud providers, and governmental IT infrastructure, the vulnerability could have broad operational impacts if unmitigated.

Mitigation Recommendations

To mitigate CVE-2025-23149, European organizations should: 1) Immediately identify and inventory Linux systems running affected kernel versions with TPM enabled. 2) Apply the official Linux kernel patches once released that properly check the TPM_CHIP_FLAG_SUSPENDED flag before calling tpm_chip_start(), preventing spurious TPM starts during suspend. 3) Temporarily disable TPM support or suspend/resume functionality on critical systems if patching is not immediately feasible, to avoid triggering the vulnerability. 4) Monitor kernel logs for warnings related to I2C transfers during suspend or TPM chip start failures as indicators of attempted exploitation or system instability. 5) Coordinate with Linux distribution vendors and hardware manufacturers to ensure timely updates and firmware compatibility. 6) Implement robust system monitoring and automated reboot mechanisms to minimize downtime in case of kernel crashes. 7) For high-security environments, consider isolating vulnerable systems or restricting access until patched to reduce risk of denial of service attacks.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-01-11T14:28:41.513Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9820c4522896dcbdd451

Added to database: 5/21/2025, 9:08:48 AM

Last enriched: 7/3/2025, 10:11:14 PM

Last updated: 8/1/2025, 7:14:24 AM

Views: 11

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats