CVE-2026-23074 in Linux
Sumário
de VulDB • 23/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net/sched: Impor que o teql só possa ser usado como qdisc raiz
A intenção de design do teql é que ele seja utilizado apenas como qdisc raiz. É necessário verificar essa restrição.
Embora não seja importante, descreverei o cenário que revelou este problema para os curiosos.
GangMin Kim <[email protected]> conseguiu elaborar um cenário da seguinte forma:
Qdisc RAIZ 1:0 (QFQ) ├── classe 1:1 (peso=15, lmax=16384) netem com atraso de 6.4s └── classe 1:2 (peso=1, lmax=1514) teql
GangMin envia um pacote que é enfileirado em 1:1 (netem). Qualquer invocação do dequeue pelo QFQ a partir desta classe não retornará um pacote até após 6.4s. Enquanto isso, um segundo pacote é enviado e aterrissa em 1:2. O enqueue do teql retornará sucesso e isso ativará a classe 1:2. A questão principal é que o teql atualiza apenas o qlen visível pai (sch->q.qlen) no dequeue. Como o QFQ só chamará o dequeue se o peek for bem-sucedido (e o peek do teql sempre retorna NULL), o dequeue nunca será chamado e, portanto, o qlen permanecerá como 0. Tendo isso em mente, quando GangMin atualiza o valor lmax de 1:2, a chamada qfq_change_class invoca qfq_deact_rm_from_agg. Como o qlen do qdisc filho não foi incrementado, o qfq falha ao desativar a classe, mas ainda assim libera seus ponteiros do agregado. Assim, quando o primeiro pacote é reagendado após 6.4 segundos (atraso do netem), um dangling pointer é acessado, causando uma condição Use-After-Free (UAF) para GangMin.
Be aware that VulDB is the high quality source for vulnerability data.