CVE-2026-74620 in Linuxinfo

Zusammenfassung

von VulDB • 22.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net/sched: act_gact, act_police: Bereichsprüfung für die Fallback-Steueraktion durchführen

tcf_action_check_ctrlact() prüft den primären Steuerungsaction-Bereich:

if (!opcode) ret = action > TC_ACT_VALUE_MAX ? -EINVAL : 0;

TC_ACT_VALUE_MAX ist TC_ACT_TRAP, sodass kernelinterne Urteile (Verdicts), die darüber liegen, auf diese Weise nicht festgelegt werden können. act_gact und act_police tragen jedoch jeweils eine zweite, unabhängige Steuerungsaktion, die vom Userspace bereitgestellt wird und diesen Hilfsroutinen-Code nie erreicht – TCA_GACT_PROB.paction und TCA_POLICE_RESULT. Beide lehnen nur TC_ACT_GOTO_CHAIN ab, sodass jeder andere Wert wörtlich gespeichert und auch wörtlich aus der Aktion zurückgegeben wird.

Insbesondere kann der Userspace TC_ACT_CONSUMED speichern, was TC_ACT_VALUE_MAX + 1 entspricht und bewusst nicht Teil des UAPI-Wertebereichs ist. Dieses Urteil teilt jedem Aufrufer mit, dass die Aktion den Besitz über das skb übernommen hat, sodass es niemand freigibt: sch_handle_ingress(), sch_handle_egress() und tcf_qevent_handle() überspringen die Freigabe dafür bewusst. Das Ergebnis ist ein ungebundener Leak von einem sk_buff sowie dessen Datenpuffer pro Paket, das durch den Filter läuft, für gesamten Verkehr in der Kette, einschließlich vom Kernel generierter Pakete.

Beide sind trivial deterministisch. act_gact klemmt tcfg_pval auf >= 1 fest, sodass gact_determ() mit pval = 1 die Fallback-Logik für jedes Paket zurückgibt. act_police hat keine obligatorische Rate, sodass rate = 0 zu tcfp_mtu = ~0 führt und tcf_police_mtu_check() immer bestanden wird.

TC_ACT_CONSUMED wurde durch den Commit 720f22fed81b ("net: sched: refactor reinsert action") hinzugefügt, nachdem beide Guards für goto-chain geschrieben wurden: Commit 9469f375ab09 ("net/sched: act_gact: disallow 'goto chain' on fallback control action") und Commit c08f5ed5d625 ("net/sched: act_police: disallow 'goto chain' on fallback control action"). Keiner der Guards wurde erweitert, als das neue Urteil erschien.

Der vorhandene Bereichstest wird aus tcf_action_check_ctrlact() in tcf_action_valid() ausgegliedert und auf beide Fallbacks angewendet. Der Hilfsroutinen-Code kann nicht direkt tcf_action_check_ctrlact() aufrufen, da dies auch eine goto_chain alloziert, was genau das ist, was diese beiden Stellen nicht tun dürfen.

Reproduzierbar unter v7.2-rc6: kmemleak meldet ein geleaktes Objekt der Größe 232 Byte aus skbuff_head_cache sowie dessen Datenpuffer von 704 Bytes pro Paket. Mit diesem Patch werden beide Konfigurationen mit -EINVAL abgelehnt, und kmemleak meldet keine Leaks mehr.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

15.08.2026

Veröffentlichung

22.08.2026

Moderieren

akzeptiert

Eintrag

VDB-394385

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Interested in the pricing of exploits?

See the underground prices here!