CVE-2026-93174 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
bpf: Kopieren der Padding-Werte pro CPU in map_value_long()
Im Kernel werden Elemente von Maps, die pro-CPU gespeichert sind, mit `round_up(map->value_size, 8)` Bytes abgerundet gespeichert. Bei UAPI-Lookup-Pfaden wird diese aufgerundete Größe für jede CPU in einen temporären Puffer kopiert.
Allerdings übergibt `copy_map_value_long()` die `'map->value_size'` an `bpf_obj_memcpy()`. Wenn die Map spezielle Felder enthält, kopiert `bpf_obj_memcpy()` mit `memcpy()` um diese Felder herum und kopiert nicht das abschließende Padding zwischen `'map->value_size'` und `round_up(map->value_size, 8)`.
Die temporären UAPI-Lookup-Puffer werden ohne `__GFP_ZERO` alloziert. Infolgedessen können bei einer Größe des pro-CPU-Map-Werts, die nicht gleich `round_up(map->value_size, 8)` ist, UAPI LOOKUP_ELEM und seine Varianten veraltete Heap-Inhalte aus diesem Padding an den Benutzerbereich (User Space) zurückgeben. Das gleiche Problem gilt für bpf_iter bei per-CPU-Maps.
Es wird nun `round_up(map->value_size, 8)` von `copy_map_value_long()` an `bpf_obj_memcpy()` übergeben, sodass Per-CPU-Maps sowohl mit als auch ohne spezielle Felder den gesamten pro-CPU-Slot kopieren. Das jetzt redundante `round_up()` aus dem long_memcpy-Pfad von `bpf_obj_memcpy()` wird entfernt.
If you want to get best quality of vulnerability data, you may have to visit VulDB.