{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2022-49286","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-02-26T01:49:39.302Z","datePublished":"2025-02-26T01:56:25.566Z","dateUpdated":"2025-05-04T08:34:16.652Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2025-05-04T08:34:16.652Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ntpm: use try_get_ops() in tpm-space.c\n\nAs part of the series conversion to remove nested TPM operations:\n\nhttps://lore.kernel.org/all/20190205224723.19671-1-jarkko.sakkinen@linux.intel.com/\n\nexposure of the chip->tpm_mutex was removed from much of the upper\nlevel code.  In this conversion, tpm2_del_space() was missed.  This\ndidn't matter much because it's usually called closely after a\nconverted operation, so there's only a very tiny race window where the\nchip can be removed before the space flushing is done which causes a\nNULL deref on the mutex.  However, there are reports of this window\nbeing hit in practice, so fix this by converting tpm2_del_space() to\nuse tpm_try_get_ops(), which performs all the teardown checks before\nacquring the mutex."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/char/tpm/tpm2-space.c"],"versions":[{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"5b1d2561a03e534064b51c50c774657833d3d2cf","status":"affected","versionType":"git"},{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"95193d12f10a8a088843b25e0f5fe1d83ec6b079","status":"affected","versionType":"git"},{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"476ddd23f818fb94cf86fb5617f3bb9a7c92113d","status":"affected","versionType":"git"},{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"eda1662cce964c8a65bb86321f8d9cfa6e9ceaab","status":"affected","versionType":"git"},{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"ba84f9a48366dcc3cdef978599433efe101dd5bd","status":"affected","versionType":"git"},{"version":"745b361e989af21ad40811c2586b60229f870a68","lessThan":"fb5abce6b2bb5cb3d628aaa63fa821da8c4600f9","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/char/tpm/tpm2-space.c"],"versions":[{"version":"4.12","status":"affected"},{"version":"0","lessThan":"4.12","status":"unaffected","versionType":"semver"},{"version":"5.4.188","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.109","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.32","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.16.18","lessThanOrEqual":"5.16.*","status":"unaffected","versionType":"semver"},{"version":"5.17.1","lessThanOrEqual":"5.17.*","status":"unaffected","versionType":"semver"},{"version":"5.18","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.4.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.10.109"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.15.32"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.16.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.17.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.18"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5b1d2561a03e534064b51c50c774657833d3d2cf"},{"url":"https://git.kernel.org/stable/c/95193d12f10a8a088843b25e0f5fe1d83ec6b079"},{"url":"https://git.kernel.org/stable/c/476ddd23f818fb94cf86fb5617f3bb9a7c92113d"},{"url":"https://git.kernel.org/stable/c/eda1662cce964c8a65bb86321f8d9cfa6e9ceaab"},{"url":"https://git.kernel.org/stable/c/ba84f9a48366dcc3cdef978599433efe101dd5bd"},{"url":"https://git.kernel.org/stable/c/fb5abce6b2bb5cb3d628aaa63fa821da8c4600f9"}],"title":"tpm: use try_get_ops() in tpm-space.c","x_generator":{"engine":"bippy-1.2.0"}}}}