PT-2024-11860 · Linux+6 · Linux Kernel+6
Vlastimil Babka
·
Published
2022-11-28
·
Updated
2025-09-29
·
CVE-2022-48997
CVSS v3.1
4.7
Medium
| Vector | AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
Linux kernel versions prior to 6.1.0-rc5+
Description
The issue is related to the tpm pm suspend() function in the Linux kernel, which may lead to races with other tpm accessors in the system. Specifically, the hw random tpm driver makes use of tpm get random(), and this function is called in a loop from a kthread, which means it's not frozen alongside userspace, and so can race with the work done during system suspend. The estimated number of potentially affected devices worldwide is not available. There is no information about real-world incidents where this issue was exploited.
The function
tpm pm suspend() is vulnerable, and the tpm get random() function is called in a loop from a kthread.
To fix this, the tpm try get ops() function is called, which itself is a wrapper around tpm chip start(), but takes the appropriate mutex.Recommendations
For Linux kernel versions prior to 6.1.0-rc5+, consider updating to a newer version to mitigate the risk.
As a temporary workaround, consider disabling the
tpm pm suspend() function until a patch is available.
Restrict access to the tpm get random() function to minimize the risk of exploitation.Exploit
Fix
Race Condition
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Alt Linux
Astra Linux
Centos
Linux Kernel
Red Hat
Red Os
Suse