CVE-2026-90070 PUBLISHED

tpm: st33zp24: Return zero on status read failure

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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

tpm: st33zp24: Return zero on status read failure

st33zp24_status() ignores the result of the transport read and returns data even when no byte was received. The I2C transport, for example, skips i2c_master_recv() when the register-select write is short or fails, leaving data uninitialized. The resulting stack value can be interpreted as TPM_STS flags and let status checks complete spuriously.

The status callback cannot propagate a transport error. Return zero unless recv() reports exactly one byte. With no status bits set, callers retry or take their existing timeout or error path instead of acting on an invalid status value.

This issue was found by a static analysis checker and confirmed by manual source review.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to d732cfc4befe28f02ec82ed5fd2bc2a21fbabd42 (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 4973e8386257eed10e5433a94a53bcc6ec37d2a1 (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 981307e2e8a930da492c2bcf763865c47c2a5165 (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 1bfd5c54e40704ce93d128a25de3d8dd772bf183 (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 38c26fe4522963a91d4fb02c844d8faa740fe9d1 (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 14feaa498c20c1b7ddefe27de5329aaff822cc0d (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to e6d7d9b665419cda3e9f91030d81c9f8ba71e51d (excl.)
  • affected from 251a7b08213af82e40e4a70cac056e245853c410 to 8b92687708f5ef980de01c2042dbd76d11f78547 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.9 is affected
  • unaffected from 0 to 3.9 (excl.)
  • unaffected from 5.10.270 to 5.10.* (incl.)
  • unaffected from 5.15.221 to 5.15.* (incl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References