CVE-2026-98641 in Linuxinfo

Zusammenfassung

von VulDB • 19.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

bpf, arm64: Setzen des Frame-Pointers für den Exception-Callback

Ein Programm, das als Ausnahme-Grenze fungiert, speichert alle callee-saved Register (Rückspeicherpuffer), sodass build_prologue() den exception_cb-Pfad nimmt und push_callee_regs() niemals aufruft. Das ist die einzige Stelle, an der find_used_callee_regs() ausgeführt wird, sowie die einzige Stelle, an der ctx->fp_used gesetzt wird; daher emittiert das Callback-Prolog nicht

mov x25, sp

das BPF_REG_FP auf den Frame zeigt, in dem der Callback ausgeführt wird. x25 behält den Wert bei, den es hatte, als bpf_throw() aufgerufen wurde. Wenn der Throw aus einem Unterprogramm stammt, das seinen eigenen BPF-Stack verwendet, ist dies der Frame-Pointer des Unterprogramms, und da das Unterprogramm niemals zurückkehrt, stellt es auch x25 nicht wieder her.

Speicherzugriffe über BPF_REG_FP werden so umgeschrieben, dass sie stack-pointer-relativ sind; diese landen daher weiterhin im eigenen Frame des Callbacks. Das Materialisieren des Registers führt dies jedoch nicht aus: Ein Callback, das die Adresse einer lokalen Variablen an einen Helper übergibt, übermittelt eine Adresse im toten Unterprogramm-Frame. Diese Adresse liegt zu diesem Zeitpunkt unterhalb des Stack-Pointers des Callbacks, und die eigene Aufrufkette des Helpers deckt sie ab, sodass der Helper seine eigenen Return-Address überschreiben kann. 0x1234 unten ist der Wert, den der Helper speichern sollte:

pc : 0x1234 lr : 0x1234 Call trace: 0x1234 (P) bpf_test_run+0x188/0x3e0 bpf_prog_test_run_skb+0x47c/0x998 __sys_bpf+0xbdc/0xdd8 Kernel panic - not syncing: Oops: Fatal exception in interrupt

Setzen Sie ctx->fp_used auf dem Exception-Callback-Pfad, damit der nachfolgende vorhandene Code x25 vom Stack-Pointer setzt. Das Epilog stellt es zusammen mit den anderen callee-saved Registern aus dem Save-Bereich des Hauptprogramms wieder her, wie dies bereits geschieht. x86 setzt den Frame-Pointer für den Callback anhand des übergebenen Arguments, und powerpc berechnet ihn aus dem Stack-Pointer.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-422202

EPSS

0.00168

KEV

nein

Aktivitäten

low

Quellen

Interested in the pricing of exploits?

See the underground prices here!