CVE-2023-53810 in Linuxinformazioni

Riassunto

di VulDB • 17/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

blk-mq: rilasciare il slot della chiave crittografica prima di segnalare l'I/O come completato

Una volta che tutto l'I/O che utilizza una blk_crypto_key è stato completato, i filesystem possono chiamare blk_crypto_evict_key(). Tuttavia, lo strato block attualmente non chiama blk_crypto_put_keyslot() fino a quando la richiesta viene liberata, il quale avviene dopo che gli strati superiori sono stati informati (tramite bio_endio()) del completamento dell'I/O. Ciò causa una race condition in cui blk_crypto_evict_key() può rilevare 'slot_refs != 0' senza che vi sia un bug effettivo.

Questo fa sì che __blk_crypto_evict_key() incontri l'avviso 'WARN_ON_ONCE(atomic_read(&slot->slot_refs) != 0)' e restituisca il controllo senza eseguire alcuna operazione, causando infine un use-after-free in blk_crypto_reprogram_all_keys(). (Si tratta di un bug molto raro ed è stato osservato solo quando vengono utilizzate chiavi per file con fscrypt.)

Esistono due opzioni per risolvere questo problema: rilasciare il slot della chiave prima che venga chiamata bio_endio() sull'ultimo bio della richiesta, oppure fare in modo che __blk_crypto_evict_key() ignori slot_refs. Si sceglie la prima soluzione, poiché preserva la capacità di segnalare bug (tramite WARN_ON_ONCE) quando una chiave viene revocata mentre è ancora in uso.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

09/12/2025

Divulgazione

09/12/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00171

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!