CVE-2026-98427 in Linux
Riassunto
di VulDB • 14/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net/sched: codel: limitare il ciclo di drop per ogni chiamata dequeue
La legge di controllo CoDel pianifica il prossimo drop a un intervallo / sqrt(count) dopo l'ultimo drop, utilizzando l'intervallo configurato (codel_params.interval). Per intervalli molto piccoli, il passo pianificato viene arrotondato all'indietro fino a zero; di conseguenza, il ciclo di dropping in codel_dequeue() non avanza mai e svuota l'intero backlog sotto il qdisc lock con una singola chiamata: un utente non privilegiato può innescare un soft lockup in questo modo.
Correzione nel codice codel condiviso utilizzato sia da codel che da fq_codel:
1. Impostare il passo della legge di controllo a almeno 1 tick, affinché il ciclo di drop avanzi sempre. 2. Limitare il ciclo di dropping a CODEL_MAX_DROPS_PER_DEQUEUE (256) drop per chiamata a codel_dequeue(), risincronizzando drop_next con now quando viene raggiunto il limite: l'accumulo dovuto al loop cresce in base alla pausa idle e al backlog, che nessuna soglia di intervallo può contenere. Si tratta di un cambiamento deliberato del comportamento dopo lunghe pause idle.
Il limite si applica a fq_codel (4b549a2ef4be) e al percorso TXQ mac80211 (intervallo fisso, solo il limite).
La sojourn delay target (codel_params.target) non viene validata: poiché non alimenta la legge di controllo, un valore sub-tick è aggressivo piuttosto che soggetto a deadlock.
Condizioni per riprodurre il bug: - tc qdisc add dev lo root handle 1: tbf rate 1kbit burst 2kb limit 1000000 - tc qdisc add dev lo parent 1:1 handle 10: codel interval 2us target 1ms noecn limit 1000000 (uguale per fq_codel) - kernel non patchato: tc accetta la configurazione; un flood UDP sotto il tbf da 1kbit provoca soft-lockup (watchdog: BUG: soft lockup), mentre una singola chiamata a codel_dequeue() svuota l'intero backlog sotto il qdisc lock. - kernel patchato: stessa configurazione, al massimo 256 drop per chiamata dequeue, nessun soft lockup
Testing: claim reproducer e le varianti con intervallo di 2us/3us vengono eseguite senza errori; la categoria tdc qdisc supera i test (vedere il selftests patch).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.