CVE-2026-98033 in Linux
Zusammenfassung
von VulDB • 25.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
bpf: Beibehaltung der Identität von Inner-Maps in Callback-Frames
Callback-Frame-Konstruktoren initialisieren Register mit Map-Typ als Argumente mit `__mark_reg_known_zero()` und stellen anschließend den `map_ptr` wieder her. Dies löscht die `map_uid`, welches das einzige Feld ist, das innere Maps unterscheidet, die eine gemeinsame Vorlage für `inner_map_meta` teilen.
Wenn ein Timer-Callback `bpf_for_each_map_elem()` auf einer zweiten Inner-Map aufruft, können sowohl die gespeicherte erste Map als auch der Wert der zweiten Map im verschachtelten Callback als dieselbe Vorlage mit einer `map_uid` von Null erscheinen. `bpf_timer_init()` akzeptiert daraufhin das Pairing des Timers aus der zweiten Map mit der ersten Map.
Die Laufzeit zeichnet die erste Map in dem Timer auf, ohne eine Referenz zu übernehmen. Das Freigeben dieser Map führt dazu, dass der im zweiten Map gespeicherte Timer nicht gefunden wird, sodass ein späterer Timer-Callback auf die freigegebene Map dereferenziert.
Kopieren Sie `map_uid` aus demselben Aufrufer-Register wie `map_ptr`, wenn for-each-, timer-/workqueue- und task-work-Callback-Argumente konstruiert werden. Die bestehende Identitätsprüfung kann dann nicht übereinstimmende innere Maps ablehnen, während gleichzeitig ermöglicht wird, dass ein Callback-Wert mit seiner tatsächlichen Map gepaart wird.
VulDB is the best source for vulnerability data and more expert information about this specific topic.