Katalog CVE

CVE-2026-98007

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w podsystemie BPF funkcja bpf_loop() deklaruje argument nr_loops jako ARG_ANYTHING, co pozwala uprzywilejowanym programom przekazać wartość wskaźnikową. Od commita bb124da69c47 verifier oznacza R1 jako precise i odczytuje jego górną granicę, a precision backtracking akceptuje tylko rejestry skalarne, co wywołuje ostrzeżenie "backtracking misuse" i panikę przy panic_on_warn. Poprawka wprowadza ARG_SCALAR i używa go dla nr_loops.

Ocena ryzyka

Uprzywilejowany program BPF może wywołać ostrzeżenie verifiera, a przy włączonym panic_on_warn doprowadzić do paniki jądra i odmowy usługi. Wymaga to możliwości ładowania programów BPF.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Rozważ wyłączenie panic_on_warn, jeśli nie jest wymagane, oraz ograniczenie ładowania programów BPF do zaufanych podmiotów.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject non-scalar bpf_loop iteration counts bpf_loop() declares its nr_loops argument as ARG_ANYTHING. Privileged programs may pass pointer values to such arguments, so check_func_arg() lets a pointer-valued R1 reach the helper-specific checks. Since commit bb124da69c47 ("bpf: keep track of max number of bpf_loop callback iterations"), the verifier marks R1 precise and reads its upper bound to limit callback simulation. Precision backtracking only accepts scalar registers, so passing a pointer instead triggers the "backtracking misuse" verifier warning. Kernels with panic_on_warn enabled subsequently panic. Introduce ARG_SCALAR for helper arguments that only accept scalar values and use it for bpf_loop() nr_loops. Generic helper argument validation then rejects pointers before loop inlining and precision processing.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS