ZeroHour

CVE-2026-53670

niche

Offset-tracking bug in Prevail eBPF Verifier admits out-of-bounds BPF programs

CVSS 4.0
9.3 critical
EPSS
<1%p22
Published
()
Modified
AI analysis

Prevail, an open-source eBPF verifier that uses abstract interpretation to prove BPF programs are memory-safe, contains an incorrect-calculation flaw (CWE-682) in its EbpfTransformer::add() routine in all versions prior to 0.2.4. When a register may hold one of two or more possible pointer types (a non-singleton typeset), the flaw silently skips updating that pointer's offset variable, so subsequent bounds checks run against a stale offset value. A crafted BPF program that performs an out-of-bounds memory access is therefore wrongly accepted as safe and can corrupt memory at runtime, defeating the memory-safety guarantee the verifier is meant to enforce. Anyone using Prevail before 0.2.4 — typically eBPF platforms and tools that embed the verifier to check programs before loading them — is affected, and the CVSS 4.0 score of 9.3 reflects that a remotely submitted, unprivileged BPF program can cause high-impact integrity and availability failures. There is no known public proof-of-concept, the flaw is not in CISA KEV, and EPSS currently estimates the 30-day exploitation probability at about 0.3%.

What to do: Upgrade Prevail to version 0.2.4 or later, and rebuild any downstream projects or tools that bundle or vendor the verifier against the patched release. If upgrading is not immediate, restrict or manually review loading of BPF programs that perform pointer arithmetic on registers with ambiguous (multi-type) pointer states, since those are the programs that can bypass the buggy bounds checks. Treat verifier acceptance as the security gate in your deployment, so prioritize patching wherever untrusted users can submit BPF programs.

Affected
Prevail project (open source) PREVAIL eBPF Verifier (Polynomial-Runtime eBPF Verifier with Abstract Interpretation Layer)all versions prior to 0.2.4
Estimated exposure
nichelikely thousands of embedded deployments or fewer (specialized verifier library with no public install base) — Prevail is a niche open-source verification library embedded by a small set of eBPF tooling rather than a mass-market product, and no public install, scan, or user-count data exists, so exposure is bounded by its limited downstream…

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, 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.

Weakness
CWE-682
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/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.