Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: tpm: Lock TPM chip in tpm_pm_suspend() first Setting TPM_CHIP_FLAG_SUSPENDED in the end of tpm_pm_suspend() can be racy according, as this leaves window for tpm_hwrng_read() to be called while the operation is in progress. The recent bug report gives also evidence of this behaviour. Aadress this by locking the TPM chip before checking any chip->flags both in tpm_pm_suspend() and tpm_hwrng_read(). Move TPM_CHIP_FLAG_SUSPENDED check inside tpm_get_random() so that it will be always checked only when the lock is reserved.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 99d46450625590d410f86fe4660a5eff7d3b8343 before cfaf83501a0cbb104499c5b0892ee5ebde4e967f; affected 99d46450625590d410f86fe4660a5eff7d3b8343 before bc203fe416abdd1c29da594565a7c3c4e979488e; affected 99d46450625590d410f86fe4660a5eff7d3b8343 before 9265fed6db601ee2ec47577815387458ef4f047a; affected 7cd46930b8bf37b84777410ac21bfdf1179021d5; affected eeda114c92c7b2db69878cdf27163750fd57cfe2; affected 6.1.31 before 6.2; affected 6.3.5 before 6.4 |
| Linux / Linux | affected 6.4; unaffected 0 before 6.4; unaffected 6.6.64 through 6.6.*; unaffected 6.11.8 through 6.11.*; unaffected 6.12 through * |
CWE
No CWE identifiers supplied.