Skip to main content

Linux Kernel CVE-2026-72135

| EUVDEUVD-2026-58893 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-mgw8-pg67-5pw5
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

AV:L/PR:L reflects tss-group-gated /dev/tpm0 access; C:H for heap disclosure, I:H and A:H for OOB zero-write corrupting adjacent kernel structures.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 07:10 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
7.8 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 7.8
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

tpm: Make the TPM character devices non-seekable

The TPM character devices expose a sequential command/response interface, but their open handlers leave FMODE_PREAD and FMODE_PWRITE enabled.

After a command leaves a response pending, pread(fd, buf, 16, 0x1400) passes 0x1400 as *off to tpm_common_read(). The transfer length is bounded by response_length, but the offset is used unchecked when forming data_buffer + *off. A sufficiently large offset therefore causes an out-of-bounds heap read through copy_to_user() and, if the copy succeeds, an out-of-bounds zero-write through the following memset().

Positional I/O does not provide coherent semantics for this interface. An arbitrary pread offset cannot represent how much of a response has been consumed sequentially. The write callback always stores a command at the start of data_buffer, while pwrite() does not update file->f_pos and can leave the sequential read cursor stale.

Call nonseekable_open() from both open handlers. This removes FMODE_PREAD and FMODE_PWRITE, causing positional reads and writes to fail with -ESPIPE before reaching the TPM callbacks, and explicitly marks the files non-seekable. Normal read() and write() continue to use the existing sequential f_pos cursor, leaving the response state machine unchanged.

Tested on Linux 6.12 with KASAN and a swtpm TPM2 device:

  • sequential partial reads returned the complete response
  • pread() and preadv() with offset 0x1400 returned -ESPIPE
  • pwrite() and pwritev() with offset zero returned -ESPIPE
  • the pending response remained intact after the rejected operations
  • a subsequent normal command/response cycle completed normally
  • no KASAN report was produced.

AnalysisAI

Out-of-bounds heap read and write in the Linux kernel TPM character device driver exposes kernel heap memory to local low-privileged users with access to /dev/tpm0 or /dev/tpmrm0. The TPM char device open handlers fail to call nonseekable_open(), leaving FMODE_PREAD and FMODE_PWRITE enabled on a device that only supports sequential command/response I/O; a pread() call with a large offset (e.g., 0x1400) passes that offset unchecked into tpm_common_read(), causing an out-of-bounds heap read via copy_to_user() and a subsequent out-of-bounds zero-write via memset(). No public exploit is identified at time of analysis, EPSS sits at 0.22% (13th percentile), and patches are available across all active Linux stable branches.

Technical ContextAI

The Linux kernel TPM subsystem exposes Trusted Platform Module hardware and firmware through character devices /dev/tpm0 and /dev/tpmrm0. These devices implement a strict sequential protocol: userspace writes a TPM command, the kernel forwards it to the TPM hardware, and userspace reads back the response. The vulnerability originates because tpm_common_read() receives the file offset (*off) directly from a pread() syscall and uses it to compute data_buffer + *off without bounds-checking the offset against response_length. This is only reachable because the open handlers for both TPM character devices omit a call to nonseekable_open(), leaving FMODE_PREAD and FMODE_PWRITE flags set - flags that permit positional I/O syscalls to bypass the normal sequential cursor and reach the vulnerable offset arithmetic. The result is two distinct memory safety violations: an out-of-bounds heap read (CWE-125) when copy_to_user() reads beyond the response buffer, and an out-of-bounds heap zero-write (CWE-787) from the memset() call that follows. Although no CWE is formally assigned in the NVD entry, the EUVD tags confirm 'Buffer Overflow'. EUVD-2026-58893 identifies the vulnerability as introduced at commit 9488585b21bef0df1217e510c7134905d1d376a7 and fixed across eight separate stable-branch commits. Testing was confirmed by the upstream reporter on Linux 6.12 with KASAN enabled and a software TPM2 (swtpm), definitively reproducing both the OOB accesses and confirming their absence after the fix.

RemediationAI

The primary fix is to upgrade to a patched kernel version for your running stable branch: 5.10.261 or later, 5.15.212 or later, 6.1.178 or later, 6.6.145 or later, 6.12.97 or later, 6.18.40 or later, or 7.1.5 or later. Distribution-maintained kernels (Debian, Ubuntu, RHEL, SUSE, Alpine, etc.) should be updated via the standard package manager once vendor backports are published; check your distribution's security advisory channels. Upstream patch commits are referenced at https://git.kernel.org/stable/c/21a13f932972bc9836f58c44fcd47c62abdecd95 (and the seven additional branch-specific commits listed in NVD references). As a temporary workaround on systems where TPM userspace access is not required, restrict or remove permissions on /dev/tpm0 and /dev/tpmrm0 using udev rules or chmod (e.g., mode 0600 root:root) - this blocks exploitation but will break TPM-dependent userspace software including fTPM-based disk encryption unlock agents, remote attestation daemons, and software like tpm2-tools; weigh accordingly. If TPM access is operationally required, narrowing /dev/tpm0 access to only the specific service account (rather than a broad tss group) limits the reachable attacker population without disrupting the service.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-72135 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy