CVE-2022-48997

MEDIUM EPSS 14.5%
Published Oct 21, 20241y ago · Modified Jun 17, 20261w ago
4.7 CVSS 3.1
Medium
Find Similar
Published Oct 21, 2024 1y ago
Last Modified Jun 17, 2026 1w ago

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]

CVSS Details

Base Score
4.7
Exploitability
1.0
Impact
3.6
Vector string
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector Local
Attack Complexity High
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality None
Integrity None
Availability High

Threat Intelligence

EPSS Exploit Probability
14.5% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Affected Products 11

VendorProductVersionRange
linuxlinux_kernel*≥5.1  –  <5.4.226
linuxlinux_kernel*≥5.5  –  <5.10.158
linuxlinux_kernel*≥5.11  –  <5.15.82
linuxlinux_kernel*≥5.16  –  <6.0.12
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any

References 5

  • git.kernel.org https://git.kernel.org/stable/c/23393c6461422df5bf8084a086ada9a7e17dc2ba
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/25b78bf98b07ff5aceb9b1e24f72ec0236c5c053
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/4e0d6c687c925e27fd4bc78a2721d10acf5614d6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/571b6bbbf54d835ea6120f65575cb55cd767e603
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/d699373ac5f3545243d3c73a1ccab77fdef8cec6
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/23393c6461422df5bf8084a086ada9a7e17dc2ba
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/25b78bf98b07ff5aceb9b1e24f72ec0236c5c053
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/4e0d6c687c925e27fd4bc78a2721d10acf5614d6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/571b6bbbf54d835ea6120f65575cb55cd767e603
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/d699373ac5f3545243d3c73a1ccab77fdef8cec6
    Patch