PREVAIL: Non-singleton typeset in add() skips offset update, allowing OOB access to pass eBPF verification
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA prevail (vbpf) Fixed in 0.2.4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-53670
References
More vbpf vulnerabilities
- TI-2026-38710 PREVAIL: Context-write no-op in do_mem_store allows unsafe eBPF programs to pass verification CVSS 4.0CRITICAL 9.3
- TI-2026-38729 PREVAIL: ALU32 pointer arithmetic accepted without is64 gate — verifier emits false PASS for pointer-corrupting programs CVSS 4.0HIGH 8.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences