blk-crypto: make blk_crypto_evict_key() more robust
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: blk-crypto: make blk_crypto_evict_key() more robust If blk_crypto_evict_key() sees that the key is still in-use (due to a bug) or that ->keyslot_evict failed, it currently just returns while leaving the key linked into the keyslot management structures. However, blk_crypto_evict_key() is only called in contexts such as inode eviction where failure is not an option. So actually the caller proceeds with freeing the blk_crypto_key regardless of the return value of blk_crypto_evict_key(). These two assumptions don't match, and the result is that there can be a use-after-free in blk_crypto_reprogram_all_keys() after one of these errors occurs. (Note, these errors *shouldn't* happen; we're just talking about what happens if they do anyway.) Fix this by making blk_crypto_evict_key() unlink the key from the keyslot management structures even on failure. Also improve some comments.
Impact Analysis
Refer to official advisory for detailed impact metrics.
Remediation
Ensure systems are updated to the latest vendor-supplied patch levels.
Am I Vulnerable?
Launch our assessment wizard to check if your infrastructure is exposed to • CVE-2023-53536
Credits & Attribution
No credits recorded in the NVD database.
References
- https://git.kernel.org/stable/c/701a8220762ff90615dc91d3543f789391b63298
- https://git.kernel.org/stable/c/5bb4005fb667c6e2188fa87950f8d5faf2994410
- https://git.kernel.org/stable/c/64ef787bb1588475163069c2e62fdd8f6c27b1f6
- https://git.kernel.org/stable/c/809a5be62e92a444a3c3d7b9f438019d0b322f55
- https://git.kernel.org/stable/c/5c62852942667c613de0458fc797c5b8c36112b5
- https://git.kernel.org/stable/c/5c7cb94452901a93e90c2230632e2c12a681bc92
More from Linux
View All →Affected Vendor
Linux
View all reports →Affected Software
Timeline
CVSS Vectors
Weaknesses (CWE)
No CWE data available
MITRE ATT&CK TTPs
No associated TTPs found for this vulnerability.