CVE-2026-53670
KrytyczneCVSS 9.3Streszczenie
W weryfikatorze eBPF PREVAIL przed wersją 0.2.4 funkcja EbpfTransformer::add() pomija aktualizacje offsetu, gdy rejestr docelowy ma niejednoznaczny zestaw typów. Kolejne sprawdzenia granic używają nieaktualnego offsetu i akceptują dostęp do pamięci poza zakresem, przez co spreparowany program BPF przechodzi weryfikację, mimo że w czasie wykonania uszkodziłby pamięć.
Ocena ryzyka
Może to pozwolić na załadowanie złośliwego programu eBPF, co grozi naruszeniem bezpieczeństwa jądra i systemu.
Rekomendacja
Zaktualizuj PREVAIL do wersji 0.2.4 lub nowszej, która zawiera poprawkę.
Inne podatności w PREVAIL
Zobacz wszystkie- CVE-2026-53706Wysokie
W wersjach PREVAIL przed 0.2.4 weryfikator eBPF akceptuje instrukcje ALU32 ADD i SUB działające na rejestrach typu wskaźnik bez sprawdzania flagi is64. Ponieważ arytmetyka ALU32 zeruje górną połowę 32-bitowego wyniku, górna część wskaźnika jest niszczona w czasie wykonania, a PREVAIL oznacza program jako bezpieczny. Każdy, kto może przesłać program eBPF do weryfikacji, może wygenerować program, który przechodzi weryfikację, ale powoduje błędy w czasie wykonania. Problem naprawiono w wersji 0.2.4.
- CVE-2026-53671Krytyczne
W weryfikatorze eBPF PREVAIL przed wersją 0.2.4 abstrakcyjny transformer traktuje zapisy przez rejestr bazowy typu T_CTX jako cichą operację no-op. Atakujący może stworzyć program eBPF, który nadpisuje pole kontekstu (np. ctx->data), przeładowuje je jako T_PACKET i dereferencjonuje adres kontrolowany przez atakującego, a PREVAIL uzna program za bezpieczny.
Oryginalny opis (angielski, źródło NVD)
PREVAIL is a Polynomial-Runtime EBPF Verifier using an Abstract Interpretation Layer. Prior to version 0.2.4, in the Prevail eBPF verifier, EbpfTransformer::add() silently skips offset-variable updates when the destination register carries a non-singleton typeset (two or more simultaneously possible pointer types). Subsequent bounds checks use the stale offset and accept out-of-bounds memory accesses, so a crafted BPF program passes verification even though it would corrupt memory at runtime. This issue has been patched in version 0.2.4.

