Skip to content
OpenAdvisories
Critical · 9.3 CVE-2026-53671 EUVD-2026-70243

PREVAIL: Context-write no-op in do_mem_store allows unsafe eBPF programs to pass verification

Published Sep 2, 2026 · Updated Sep 5, 2026 · Assigned by GitHub_M

Description

PREVAIL is a Polynomial-Runtime EBPF Verifier using an Abstract Interpretation Layer. Prior to version 0.2.4, the abstract transformer in prevail treats writes through a T_CTX-typed base register as a silent no-op: do_mem_store in src/crab/ebpf_transformer.cpp only models T_STACK stores, and the checker's T_CTX bounds arm never tests AccessType::write. An attacker can craft an eBPF program that overwrites a context field (e.g., ctx->data), reload that field typed as T_PACKET, and dereference an attacker-controlled address — and prevail will report the program as safe. This issue has been patched in version 0.2.4.

Affected products

VendorProductAffectedFixed
vbpf prevail < 0.2.4 —

References