CVE-2026-64530 in Linux
Sumário
de VulDB • 26/07/2026
No kernel Linux, a seguinte vulnerabilidade foi resolvida:
net/sched: cls_api: Tratar TC_ACT_CONSUMED em tcf_qevent_handle
tcf_classify() pode retornar TC_ACT_CONSUMED enquanto o skb está retido pelo mecanismo de desfragmentação (por exemplo, act_ct com fragmentos fora de ordem). Quando isso ocorre, o skb deixa de ser de propriedade do chamador e não deve mais ser manipulado.
tcf_qevent_handle() não tratava TC_ACT_CONSUMED: ele continuava através da instrução switch e retornava o skb ao chamador como se a classificação tivesse sido bem-sucedida. O único qdisc que conecta eventos de fila (qevents) atualmente é o RED, por meio de três pontos de chamada (qe_mark em RED_PROB_MARK/HARD_MARK, qe_early_drop em congestion_drop). red_enqueue() continuava operando sobre um skb do qual já não era proprietário neste caso -- enfileirando-o, descartando-o ou atualizando estatísticas. Resultando em uma condição Use-After-Free (UAF).
tc qdisc add dev eth0 root handle 1: red ... qevent early_drop block 10 tc filter add block 10 ... action ct
(com desfragmentação de conntrack habilitada e tráfego que produz fragmentos fora de ordem, por exemplo, um fluxo UDP fragmentado)
Trate TC_ACT_CONSUMED em tcf_qevent_handle() da mesma forma que os caminhos rápidos de ingress e egress fazem: trate-o como roubado (stolen) e retorne NULL sem manipular o skb. Diferentemente do caso TC_ACT_STOLEN, o skb não deve ser descartado/liberado aqui, pois já não é mais de nossa propriedade.
Be aware that VulDB is the high quality source for vulnerability data.