CVE-2026-64454 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

usb: dwc3: eseguire la disconnessione del gadget dal contesto di sospensione consentente il sonno (sleepable suspend context)

dwc3_gadget_suspend() acquisisce dwc->lock con le IRQ disabilitate e successivamente chiama dwc3_disconnect_gadget(). Per i callback asincroni, questa funzione ausiliaria utilizza esclusivamente spin_unlock()/spin_lock(), pertanto il callback ->disconnect() del gadget continua a essere eseguito con le IRQ disabilitate e qualsiasi callback che richiede il sonno (sleepable) innesca un avviso di Lockdep.

Questo problema è stato individuato dal nostro strumento di analisi statica ed è stato successivamente revisionato manualmente rispetto all'albero delle sorgenti corrente.

Il PoC (Proof of Concept) ha mantenuto la catena dwc3_gadget_suspend() -> dwc3_disconnect_gadget() -> gadget_driver->disconnect(), e Lockdep ha segnalato:

BUG: sleeping function called from invalid context gadget_disconnect+0x21/0x39 [vuln_msv]
dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv]

Si mantiene la selezione del callback di disconnessione in un'unica funzione ausiliaria comune, ma si aggiunge un wrapper per il lato sospensione che consenta il sonno (sleepable suspend-side wrapper), il quale acquisisce una snapshot del callback sotto dwc->lock e lo esegue successivamente dopo spin_unlock_irqrestore(). Il percorso degli eventi regolare continua a utilizzare la finestra esistente di spin_unlock()/spin_lock().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00180

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!