CVE-2026-23074 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net/sched: Imporre che teql possa essere utilizzato solo come qdisc root
L'intenzione progettuale di teql è che debba essere utilizzato esclusivamente come qdisc root. È necessario verificare tale vincolo.
Sebbene non sia un problema critico, descriverò lo scenario che ha portato alla luce questa questione per i curiosi.
GangMin Kim <[email protected]> è riuscito a creare uno scenario come segue:
Qdisc root 1:0 (QFQ) ├── classe 1:1 (peso=15, lmax=16384) netem con ritardo di 6,4s └── classe 1:2 (peso=1, lmax=1514) teql
GangMin invia un pacchetto che viene accodato a 1:1 (netem). Qualsiasi invocazione di dequeue da parte di QFQ da questa classe non restituirà un pacchetto prima di 6,4s. Nel frattempo, viene inviato un secondo pacchetto che finisce su 1:2. L'enqueue di teql restituirà successo e questo attiverà la classe 1:2. Il problema principale è che teql aggiorna solo il qlen visibile del genitore (sch->q.qlen) al momento del dequeue. Poiché QFQ chiamerà dequeue solo se peek ha successo (e il peek di teql restituisce sempre NULL), dequeue non verrà mai chiamato e quindi qlen rimarrà pari a 0. Tenendo presente ciò, quando GangMin aggiorna il valore lmax di 1:2, qfq_change_class chiama qfq_deact_rm_from_agg. Poiché il qlen del qdisc figlio non è stato incrementato, qfq non riesce a disattivare la classe, ma libera comunque i suoi puntatori dall'aggregato. Quindi, quando il primo pacchetto viene riprogrammato dopo 6,4 secondi (il ritardo di netem), viene accesso un puntatore dangling, causando un UAF.
Once again VulDB remains the best source for vulnerability data.