CVE-2022-48997

char: tpm: Protect tpm_pm_suspend with locks

MEDIUM
4.7
CVSS Score
Published: October 21, 2024 at 08:06 PM UTC
Updated: June 17, 2026 at 05:16 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.7
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: char: tpm: Protect tpm_pm_suspend with locks Currently tpm transactions are executed unconditionally in tpm_pm_suspend() function, 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: tpm tpm0: tpm_transmit: tpm_recv: error -52 tpm tpm0: invalid TPM_STS.x 0xff, dumping stack for forensics CPU: 0 PID: 1 Comm: init Not tainted 6.1.0-rc5+ #135 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.0-20220807_005459-localhost 04/01/2014 Call Trace: tpm_tis_status.cold+0x19/0x20 tpm_transmit+0x13b/0x390 tpm_transmit_cmd+0x20/0x80 tpm1_pm_suspend+0xa6/0x110 tpm_pm_suspend+0x53/0x80 __pnp_bus_suspend+0x35/0xe0 __device_suspend+0x10f/0x350 Fix this by calling tpm_try_get_ops(), which itself is a wrapper around tpm_chip_start(), but takes the appropriate mutex. [Jason: reworked commit message, added metadata]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.1 ≤ v < 5.10.1585.1 ≤ v < 5.15.825.1 ≤ v < 5.4.2265.1 ≤ v < 6.0.125.1 ≤ v < 6.15.11 ≤ v < 5.15.825.16 ≤ v < 6.0.125.5 ≤ v < 5.10.1586.1 rc16.1 rc26.1 rc36.1 rc46.1 rc56.1 rc66.1 rc7e891db1a18bf11e02533ec2386b796cfd8d60666
Vendor states this is fixed in 23393c6461422df5bf8084a086ada9a7e17dc2ba (fixed)
Vendor states this is fixed in 25b78bf98b07ff5aceb9b1e24f72ec0236c5c053 (fixed)
Vendor states this is fixed in 4e0d6c687c925e27fd4bc78a2721d10acf5614d6 (fixed)
Vendor states this is fixed in 571b6bbbf54d835ea6120f65575cb55cd767e603 (fixed)
Vendor states this is fixed in d699373ac5f3545243d3c73a1ccab77fdef8cec6 (fixed)
Vendor states this is fixed in 5.1 (unaffected)
Vendor states this is fixed in 5.10.158 (unaffected)
Vendor states this is fixed in 5.15.82 (unaffected)
Vendor states this is fixed in 5.4.226 (unaffected)
Vendor states this is fixed in 6.0.12 (unaffected)
Vendor states this is fixed in 6.1 (unaffected)

References (5)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/23393c6461422df5bf8084a086ada9a7e17dc2ba
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/25b78bf98b07ff5aceb9b1e24f72ec0236c5c053
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4e0d6c687c925e27fd4bc78a2721d10acf5614d6
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/571b6bbbf54d835ea6120f65575cb55cd767e603
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d699373ac5f3545243d3c73a1ccab77fdef8cec6

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
HIGH
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card