CVE-2024-50100 in Linuxinformazioni

Riassunto

di VulDB • 30/08/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

USB: gadget: dummy-hcd: Risolto il problema del "task hung" (processo bloccato)

Il fuzzer syzbot ha riscontrato problemi di "task hung" fin da quando il driver dummy-hcd è stato modificato per utilizzare hrtimer al posto dei timer regolari. Si è scoperto che i problemi sono causati da una sottile differenza tra le API `timer_pending()` e `hrtimer_active()`.

La migrazione ha sostituito acriticamente la prima con la seconda. Tuttavia, `timer_pending()` restituisce True quando il timer è in coda (queued), ma non quando il suo callback è in esecuzione; al contrario, `hrtimer_active()` restituisce True sia quando l'hrtimer è in coda _sia_ quando il relativo callback è in esecuzione. Questa differenza ha occasionalmente indotto la funzione `dummy_urb_enqueue()` a ritenere che la routine di callback non fosse ancora iniziata, mentre in realtà era quasi terminata. Di conseguenza, l'hrtimer non è stato riavviato, rendendo impossibile per il driver rimuovere (dequeue) successivamente l'URB appena accodato. Ciò ha causato un blocco (`hang`) della funzione `usb_kill_urb() e la situazione si è aggravata da quel momento in poi.

Poiché le hrtimer non dispongono di API che indichino quando sono in coda ma il callback non è in esecuzione, il driver deve tenere traccia di questo stato autonomamente. È esattamente ciò che fa questa patch, aggiungendo un nuovo flag "timer_pending" e impostandolo o azzerandolo nei momenti appropriati.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

21/10/2024

Divulgazione

05/11/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00235

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!