PREVAIL: Non-singleton typeset in add() skips offset update, allowing OOB access to pass eBPF verification
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| vbpf | prevail | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Vbpf | Prevail |
|
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.507% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Vbpf
Vbpf prevail |
|
| Vendors & Products |
Vbpf
Vbpf prevail |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | PREVAIL: Non-singleton typeset in add() skips offset update, allowing OOB access to pass eBPF verification | |
| Weaknesses | CWE-682 | |
| References |
| |
| Metrics |
cvssV4_0
|