CVE-2022-49286

Summary

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/20190205224723.19671-1-jarkko.sakkinen@linux.intel.com/

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < 5b1d2561a03e534064b51c50c774657833d3d2cfaffected
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < 95193d12f10a8a088843b25e0f5fe1d83ec6b079affected
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < 476ddd23f818fb94cf86fb5617f3bb9a7c92113daffected
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < eda1662cce964c8a65bb86321f8d9cfa6e9ceaabaffected
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < ba84f9a48366dcc3cdef978599433efe101dd5bdaffected
LinuxLinux745b361e989af21ad40811c2586b60229f870a68 < fb5abce6b2bb5cb3d628aaa63fa821da8c4600f9affected
LinuxLinux4.12affected
LinuxLinux0 < 4.12unaffected
LinuxLinux5.4.188 <= 5.4.*unaffected
LinuxLinux5.10.109 <= 5.10.*unaffected
LinuxLinux5.15.32 <= 5.15.*unaffected
LinuxLinux5.16.18 <= 5.16.*unaffected
LinuxLinux5.17.1 <= 5.17.*unaffected
LinuxLinux5.18 <= *unaffected

Weaknesses

References