CVE-2024-56631 in Linuxinformazioni

Riassunto

di VulDB • 16/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

scsi: sg: Correzione di una lettura use-after-free su slab in sg_release()

Risolve un bug use-after-free in sg_release(), rilevato da syzbot con KASAN:

BUG: KASAN: slab-use-after-free in lock_release+0x151/0xa30 kernel/locking/lockdep.c:5838 __mutex_unlock_slowpath+0xe2/0x750 kernel/locking/mutex.c:912 sg_release+0x1f4/0x2e0 drivers/scsi/sg.c:407

In sg_release(), la funzione kref_put(&sfp->f_ref, sg_remove_sfp) viene chiamata prima di rilasciare il mutex open_rel_lock. La chiamata a kref_put() può decrementare il conteggio dei riferimenti di sfp a zero, innescandone la pulizia tramite sg_remove_sfp(). Questa pulizia include la pianificazione di lavoro differito tramite sg_remove_sfp_usercontext(), che alla fine libera sfp.

Dopo kref_put(), sg_release() continua a sbloccare open_rel_lock e può fare riferimento a sfp o sdp. Se sfp è già stato liberato, ciò provoca un errore slab-use-after-free.

Sposta la chiamata kref_put(&sfp->f_ref, sg_remove_sfp) dopo lo sblocco del mutex open_rel_lock. Questo garantisce:

- Nessun riferimento a sfp o sdp avviene dopo che il conteggio dei riferimenti è stato decrementato.

- Le funzioni di pulizia come sg_remove_sfp() e sg_remove_sfp_usercontext() possono essere eseguite in modo sicuro senza impattare la gestione del mutex in sg_release().

La correzione è stata testata e convalidata da syzbot. Questa patch chiude il bug segnalato nel seguente link di syzkaller e garantisce una corretta sequenza delle operazioni di pulizia delle risorse e dei mutex, eliminando il rischio di errori use-after-free in sg_release().

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

27/12/2024

Divulgazione

27/12/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00285

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!