ZeroHour

CVE-2026-53706

Soundness Flaw in PREVAIL eBPF Verifier Marks Pointer-Corrupting ALU32 Code Safe

CVSS 4.0
8.8 high
EPSS
<1%p22
Published
()
Modified
AI analysis

The prevail eBPF verifier, prior to version 0.2.4, accepts ALU32 ADD and SUB instructions that operate on pointer-typed registers without checking the is64 flag (CWE-682, incorrect calculation). Because ALU32 arithmetic zero-extends the 32-bit result, the upper half of any pointer processed this way is silently destroyed at runtime, yet the verifier still marks the program as verified safe. Any caller able to submit an eBPF program for verification, including unprivileged users on kernels that permit BPF program loading, can submit a crafted program using ALU32 add/sub on pointer registers to trigger the bug. An attacker gains a program that passes verification but faults or misbehaves when it runs, matching the CVSS 4.0 profile of high integrity and availability impact with no confidentiality impact (8.8 High). Anyone running the prevail verifier before 0.2.4 to validate eBPF programs is affected; there is no known exploitation, no public proof-of-concept, no CISA KEV listing, and EPSS currently estimates a 0.3% probability of exploitation in the next 30 days.

What to do: Upgrade the prevail verifier to version 0.2.4 or later, which checks the is64 flag for ALU32 ADD/SUB on pointer registers. Until patched, restrict who can submit eBPF programs for verification (for example, disable unprivileged BPF program loading where possible), and re-audit or re-verify any programs previously accepted by versions below 0.2.4 that use ALU32 ADD/SUB on pointer-typed registers, since those may corrupt pointers at runtime.

Affected
prevail (open-source project) prevail — Polynomial-Runtime eBPF Verifier using an Abstract Interpretation LayerAll versions prior to 0.2.4 (patched in 0.2.4)
Estimated exposure
unknown — no public install, download, or deployment counts for the prevail verifier are available in the data — No active-install, download, or internet-exposed deployment counts for the prevail verifier are present in the available data; it is a specialized open-source verification library rather than a mass-market product, so exposure is limited…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Weakness
CWE-682
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.