CVE-2026-98728 PUBLISHED

tpm: fix off-by-four bounds check in tpm2_get_random()

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

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

tpm: fix off-by-four bounds check in tpm2_get_random()

When the response carries the TPM2_ST_SESSIONS tag, tpm2_get_random() skips the 4-byte parameter size field before locating the random data, but the bounds check still validates the response length against TPM_HEADER_SIZE. A truncated response can pass the check and make memcpy() read up to 4 bytes past the response end, so stale buffer contents end up in the caller's random bytes.

Fix this by checking the response length against 'offset', which already includes the skipped parameter size field.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497 to be54101992c2c5218be0e0a87827ccc96e3089af (excl.)
  • affected from 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497 to e30a2406408d2df6d9cd48c2e59e913cf266a05a (excl.)
  • affected from 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497 to 42bb6216b861e892512128219ff23010d656ba14 (excl.)
  • affected from 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497 to 9b522400bf5c082feb9a0037a053ea822a2c7e4d (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.10 is affected
  • unaffected from 0 to 6.10 (excl.)
  • unaffected from 6.12.113 to 6.12.* (incl.)
  • unaffected from 6.18.56 to 6.18.* (incl.)
  • unaffected from 7.2.10 to 7.2.* (incl.)
  • unaffected from 7.3-rc6 to * (incl.)

References