CVE-2026-53706
HighCVSS 8.8Summary
In PREVAIL versions prior to 0.2.4, the eBPF verifier accepts ALU32 ADD and SUB instructions on pointer-typed registers without checking the is64 flag. ALU32 arithmetic zero-extends the result, destroying the upper half of the pointer at runtime, yet the program is marked safe. Any caller can submit a program that passes verification but faults at runtime. Patched in version 0.2.4.
Risk Assessment
Risk of executing unsafe eBPF programs that may cause system faults or misbehavior.
Recommendation
Upgrade PREVAIL to version 0.2.4 or later.
Other vulnerabilities in PREVAIL
See all- CVE-2026-53671Critical
In the PREVAIL eBPF verifier before version 0.2.4, the abstract transformer treats writes through a T_CTX-typed base register as a silent no-op. An attacker can craft an eBPF program that overwrites a context field, reloads it as T_PACKET, and dereferences an attacker-controlled address, and PREVAIL will report the program as safe.
- CVE-2026-53670Critical
In the PREVAIL eBPF verifier before version 0.2.4, EbpfTransformer::add() silently skips offset-variable updates when the destination register carries a non-singleton typeset. 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.
Original NVD description (English source)
PREVAIL is a Polynomial-Runtime EBPF Verifier using an Abstract Interpretation Layer. Prior to version 0.2.4, the prevail eBPF verifier accepts ALU32 ADD and SUB instructions that operate on pointer-typed registers without checking the is64 flag. Because ALU32 arithmetic zero-extends the 32-bit result, the upper half of any pointer is silently destroyed at runtime, yet prevail marks the program as verified safe. Any caller that can submit an eBPF program for verification — including unprivileged users on kernels that permit BPF program loading — can produce a program that passes verification but faults or misbehaves at runtime. This issue has been patched in version 0.2.4.

