CVE-2023-53810
In the Linux kernel, the following vulnerability has been resolved: blk-mq: release crypto keyslot before reporting I/O complete Once all I/O using a blk_crypto_key has completed, filesystems can call blk_crypto_evict_key(). However, the block layer currently doesn't call blk_crypto_put_keyslot() until the request is being freed, which happens after upper layers have been told (via bio_endio()) the I/O has completed. This causes a race condition where blk_crypto_evict_key() can see 'slot_refs != 0' without there being an actual bug. This makes __blk_crypto_evict_key() hit the 'WARN_ON_ONCE(atomic_read(&slot->slot_refs) != 0)' and return without doing anything, eventually causing a use-after-free in blk_crypto_reprogram_all_keys(). (This is a very rare bug and has only been seen when per-file keys are being used with fscrypt.) There are two options to fix this: either release the keyslot before bio_endio() is called on the request's last bio, or make __blk_crypto_evict_key() ignore slot_refs. Let's go with the first solution, since it preserves the ability to report bugs (via WARN_ON_ONCE) where a key is evicted while still in-use.
Affected versions
Linux kernel versions
5.8
and later are affected. Fixed in
5.10.180,
5.15.111,
6.1.28,
6.2.15,
6.3.2,
6.4
and their respective stable series.
References
The following references provide additional information about CVE-2023-53810 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/7d206ec7a04e8545828191b6ea8b49d3ea61391f
-
PatchKernel patch commithttps://git.kernel.org/stable/c/874bdf43b4a7dc5463c31508f62b3e42eb237b08
-
PatchKernel patch commithttps://git.kernel.org/stable/c/92d5d233b9ff531cf9cc36ab4251779e07adb633
Frequently asked questions
-
What is CVE-2023-53810?
CVE-2023-53810 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 5.8 onward and has been patched in 5.10.180, 5.15.111, 6.1.28 and others. CVE-2023-53810 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
Is there a patch available for CVE-2023-53810?
Yes — CVE-2023-53810 has been patched. Fixed versions include 5.10.180, 5.15.111, 6.1.28 and others. If you are running Linux kernel 5.8 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2023-53810 actively exploited?
No — CVE-2023-53810 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.