Medium · published February 26, 2025
In the Linux kernel, the following vulnerability has been resolved:
tpm: use try_get_ops() in tpm-space.c
As part of the series conversion to remove nested TPM operations:
https://lore.kernel.org/all/[email protected]/
exposure of the chip->tpm_mutex was removed from much of the upper
level code. In this conversion, tpm2_del_space() was missed. This
didn't matter much because it's usually called closely after a
converted operation, so there's only a very tiny race window where the
chip can be removed before the space flushing is done which causes a
NULL deref on the mutex. However, there are reports of this window
being hit in practice, so fix this by converting tpm2_del_space() to
use tpm_try_get_ops(), which performs all the teardown checks before
acquring the mutex.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.12, < 5.4.188 | 5.4.188 |
| linux/linux_kernel | ≥ 5.5, < 5.10.109 | 5.10.109 |
| linux/linux_kernel | ≥ 5.11, < 5.15.32 | 5.15.32 |
| linux/linux_kernel | ≥ 5.16, < 5.16.18 | 5.16.18 |
| linux/linux_kernel | all versions | — |