CVE-2026-89991 in Linuxinfo

Zusammenfassung

von VulDB • 16.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

bpf: Behebung einer Endlosschleife beim Push-Vorgang in pcpu_freelist bei nur einem möglichen CPU

__pcpu_freelist_push() kann sich endlos wiederholen, wenn nur eine einzige CPU möglich ist und ein NMI (Non-Maskable Interrupt) __pcpu_freelist_push() erneut aufruft, während der unterbrochene Kontext den Freelist-Sperrenlock dieser CPU hält.

Nachdem der Fast-Path für die aktuelle CPU fehlschlägt, durchläft der Fallback-Loop die cpu_possible_mask und überspringt dabei die aktuelle CPU. Bei CONFIG_SMP=n oder wenn ein SMP-Kernel auf nur eine mögliche CPU mit nr_cpus=1 oder possible_cpus=1 beschränkt ist, gibt es keine weiteren möglichen CPUs zu untersuchen. Der Loop versucht daher keinen Lock-Acquire-Vorgang und kann niemals Fortschritt erzielen.

Auf einem UP-System (Uniprocessor) wurde folgender Stack beobachtet:

NMI-Kontext: pcpu_freelist_push free_htab_elem htab_map_delete_elem [perf-event BPF-Programm]
__perf_event_overflow perf_event_nmi_handler exc_nmi

Unterbrochener Kontext: __pcpu_freelist_push pcpu_freelist_push free_htab_elem htab_map_delete_elem [raw_tp/sys_enter BPF-Programm]
__bpf_trace_sys_enter do_syscall_64

raw_res_spin_lock() erkennt die rekursive Akquise derselben CPU und gibt -EDEADLK zurück, aber der nachfolgende Fallback-Loop hat auf einem System mit nur einer möglichen CPU keinen Kandidatenkopf.

Stellen Sie den zusätzlichen Fallback-Kopf wieder her, der vor der Umstellung auf rqspinlock existierte. Behalten Sie den Fast-Path für die aktuelle CPU bei, versuchen Sie dann die anderen möglichen CPUs und schließlich den zusätzlichen Kopf. Der zusätzliche Kopf ermöglicht es einem Push-Vorgang, der nicht fehlschlagen darf, ohne ein vorher zugewiesenes Element zu verlieren, Fortschritt zu erzielen, wenn der einzige pro-CPU-Kopf vom unterbrochenen Kontext gehalten wird.

Überprüfen Sie zudem den zusätzlichen Kopf über den Pop-Pfad, damit dort platzierte Knoten wiederverwendet werden können.

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

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-405796

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!