CVE-2026-45839 in Linuxinfo

Zusammenfassung

von VulDB • 27.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

bpf: Verwerfen negativer CO-RE-Accessor-Indizes in bpf_core_parse_spec()

CO-RE-Accessor-Zeichenfolgen sind durch Doppelpunkte getrennte Indizes, die einen Pfad von einem root-BTF-Typ zu einem Zielfeld beschreiben, z. B. durchläuft „0:1:2“ verschachtelte Strukturmember. bpf_core_parse_spec() parst jede Komponente mit sscanf("%d"), sodass negative Werte wie -1 stillschweigend akzeptiert werden. Die nachfolgenden Bereichsprüfungen (access_idx >= btf_vlen(t)) schützen nur die obere Grenze und schlagen für negative Werte immer fehl, da die C-Ganzzahlerweiterung das __u16-btf_vlen-Ergebnis in int konvertiert, wodurch der Vergleich (int)(-1) >= (int)(N) für jedes positive N falsch ist.

Wenn -1 btf_member_bit_offset() erreicht, wird es zu u32 0xffffffff umgewandelt, was zu einem Out-of-Bounds-Lesezugriff weit hinter dem Member-Array führt. Ein speziell angefertigtes BPF-Programm mit einem negativen CO-RE-Accessor auf einer beliebigen Struktur, die im vmlinux-BTF vorhanden ist (z. B. task_struct), stürzt den Kernel deterministisch während BPF_PROG_LOAD auf jedem System mit CONFIG_DEBUG_INFO_BTF=y (Standard bei großen Distributionen) ab. Der Fehler ist mit CAP_BPF erreichbar:

BUG: unable to handle page fault for address: ffffed11818b6626 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full) RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354) RAX: 00000000ffffffff Call Trace: bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321) bpf_core_apply (kernel/bpf/btf.c:9507) check_core_relo (kernel/bpf/verifier.c:19475) bpf_check (kernel/bpf/verifier.c:26031) bpf_prog_load (kernel/bpf/syscall.c:3089) __sys_bpf (kernel/bpf/syscall.c:6228)

CO-RE-Accessor-Indizes sind inhärent nicht-negativ (Strukturmember-Index, Array-Element-Index oder Enumerator-Index), daher sollten sie unmittelbar nach dem Parsen verworfen werden.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Linux

Reservieren

13.05.2026

Veröffentlichung

27.05.2026

Moderieren

akzeptiert

Eintrag

VDB-366051

CPE

bereit

EPSS

0.00027

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!