CVE-2025-23149: Vulnerability in Linux Linux
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 Analysis
Technical Summary
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.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Poland, Italy, Spain
CVE-2025-23149: Vulnerability in Linux 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
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.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
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
Related Threats
CVE-2025-53631: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in DogukanUrker flaskBlog
MediumCVE-2025-8964: Improper Authentication in code-projects Hostel Management System
MediumCVE-2025-7971: CWE-20: Improper Input Validation in Rockwell Automation Studio 5000 Logix Designer®
HighCVE-2025-40758: CWE-347: Improper Verification of Cryptographic Signature in Siemens Mendix SAML (Mendix 10.12 compatible)
HighCVE-2025-36613: CWE-266: Incorrect Privilege Assignment in Dell SupportAssist for Home PCs
LowActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.