CVE-2026-53706: PREVAIL: ALU32 pointer arithmetic accepted without is64 gate — verifier emits false PASS for pointer-corrupting programs
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
PREVAIL eBPF Verifierto a version that resolves this vulnerability.Fixed in 0.2.4
Event History
Frequently Asked Questions
Who can trigger the verifier flaw?
Any caller able to submit an eBPF program to PREVAIL for verification can trigger it. This can include unprivileged users on kernels that permit BPF program loading.
What must an exploit program contain?
The program must use an ALU32 ADD or SUB instruction on a pointer-typed register. PREVAIL accepts this without checking the is64 flag, even though the operation zero-extends the 32-bit result and destroys the pointer's upper half at runtime.
How can I determine whether my deployment is affected?
Deployments using PREVAIL versions before 0.2.4 are affected. Affected systems may accept pointer-corrupting eBPF programs as safe, after which the program can fault or misbehave at runtime.
What remediation is available?
Upgrade PREVAIL to version 0.2.4, which contains the patch. Until upgrading, limit eBPF program submission to trusted callers where possible.