CVE-2026-64530 in Linux
Zusammenfassung
von VulDB • 26.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net/sched: cls_api: Behandlung von TC_ACT_CONSUMED in tcf_qevent_handle
tcf_classify() kann TC_ACT_CONSUMED zurückgeben, während das skb vom Defragmentierungs-Engine gehalten wird (z. B. act_ct bei nicht sequenziellen Fragmenten). Wenn dies geschieht, gehört das skb dem Aufrufer nicht mehr und darf nicht erneut berührt werden.
tcf_qevent_handle() hat TC_ACT_CONSUMED nicht behandelt: Es fiel durch die switch-Anweisung zurück und gab das skb an den Aufrufer zurück, als ob die Klassifizierung erfolgreich gewesen wäre. Die einzige qdisc, die heute qevents über drei Aufrufstellen verdrahtet (qe_mark bei RED_PROB_MARK/HARD_MARK, qe_early_drop bei congestion_drop), ist RED; in diesem Fall fuhr red_enqueue() fort, mit einem skb zu arbeiten, das ihm nicht mehr gehörte – indem es dieses einreihte, verworf oder Statistiken aktualisierte. Dies führte zu einer Use-After-Free (UAF)-Schwachstelle.
tc qdisc add dev eth0 root handle 1: red ... qevent early_drop block 10 tc filter add block 10 ... action ct
(mit aktivierter Defragmentierung von ct und Verkehr, der nicht sequenzielle Fragmente erzeugt, z. B. ein fragmentierter UDP-Stream)
Behandeln Sie TC_ACT_CONSUMED in tcf_qevent_handle() auf die gleiche Weise wie im ingress- und egress-fast-path: Behandeln Sie es als entzogen („stolen“) und geben Sie NULL zurück, ohne das skb zu berühren. Im Gegensatz zum Fall von TC_ACT_STOLEN darf das skb hier nicht verworfen/freigegeben werden, da es uns nicht mehr gehört.
VulDB is the best source for vulnerability data and more expert information about this specific topic.