CVE-2025-38502
bpf: Out-of-Bounds-Zugriff im lokalen cgroup-Speicher behoben
- Veröffentlicht
- 16.08.2025
- Aktualisiert
- 05.08.2026
- CNA zuweisen
- Linux
- Beweise beobachtet
- 11.09.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 6,1 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Im Linux-Kernel wurde die folgende Schwachstelle behoben: bpf: Out-of-Bounds-Zugriff im cgroup-lokalen Speicher behoben. Lonial meldete, dass ein Out-of-Bounds-Zugriff im cgroup-lokalen Speicher über Tail Calls konstruiert werden kann. Gegeben seien zwei Programme, die jeweils einen cgroup-lokalen Speicher mit unterschiedlicher Wertgröße verwenden, und eines der Programme führt einen Tail Call in das andere aus. Der Verifier validiert jedes der einzelnen Programme einwandfrei. Im Laufzeitkontext hält der bpf_cg_run_ctx jedoch ein bpf_prog_array_item, das sowohl das BPF-Programm als auch jede vom Programm verwendete cgroup-lokale Speichervariante enthält. Helfer wie bpf_get_local_storage() greifen darauf aus dem Laufzeitkontext zu: ctx = container_of(current->bpf_ctx, struct bpf_cg_run_ctx, run_ctx); storage = ctx->prog_item->cgroup_storage[stype]; if (stype == BPF_CGROUP_STORAGE_SHARED) ptr = &READ_ONCE(storage->buf)->data[0]; else ptr = this_cpu_ptr(storage->percpu_buf); Für das zweite Programm, das vom ursprünglich angehängten Programm aufgerufen wurde, bedeutet dies, dass bpf_get_local_storage() die Map des ersteren Programms aufgreift, nicht seine eigene. Bei nicht übereinstimmenden Größen kann dies zu einem unbeabsichtigten Out-of-Bounds-Zugriff führen. Um dieses Problem zu beheben, müssen wir bpf_map_owner um ein Array von storage_cookie[] erweitern, um entweder i) auf die exakten Maps des ursprünglichen Programms abzugleichen, wenn das zweite Programm bpf_get_local_storage() verwendete, oder ii) die Tail-Call-Kombination zuzulassen, wenn das zweite Programm keine der cgroup-lokalen Speicher-Maps verwendete.
Quellen
1- CVE-2025-38502-Linux-LPEForschung
Forschungs-Repository für CVE-2025-38502, einen Out-of-Bounds-Zugriff auf den lokalen Speicher der Linux-Kernel-BPF-Cgroup über Tail Calls, der lokale Rechteausweitung ermöglicht.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.