Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

dusk-network/plonk
master @ b83aba4
3
Fixes
0
CVEs
HIGH
Peak severity
Highlights
Cryptographic Vulnerability: 1 prior fix. Scrutinize any change in this area.
src/compiler/prover.rs: most-fixed (2 issues). Treat as high-risk during review.
2 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Cryptographic Vulnerability: Malicious provers could forge selector and constant polynomial evaluations because they were not bound to their commitments in the batched KZG opening proof. This is fixed by explicitly appending q_arith, q_c, q_l, and q_r evaluations to the batch.
Memory Safety: The use of mem::transmute to convert slice lifetimes to static references introduced undefined behavior and memory unsafety, which was resolved by migrating to safe heap allocation and leaking.
Unchecked Input Value: Unchecked deserialization of cryptographic keys via from_slice_unchecked allowed invalid or non-torsion-free elliptic curve points to bypass validation, risking proof invalidation or soundness issues.