Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| ZcashFoundation | zebra | affected |
|
||||||
| zcash | halo2_gadgets | affected |
|
||||||
| zcash | orchard | affected |
|
||||||
| zcash | librustzcash | affected |
|
||||||
| zcash | zcash | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Zcash | Halo2 Gadgets |
|
||||||||
| Zcash | Librustzcash |
|
||||||||
| Zcash | Orchard |
|
||||||||
| Zcash | Zcash |
|
||||||||
| Zcashfoundation | Zebra |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-ww9q-8r59-xv46 | Zebra: Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.315% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Zcash
Zcash halo2 Gadgets Zcash librustzcash Zcash orchard Zcash zcash Zcashfoundation Zcashfoundation zebra |
|
| Vendors & Products |
Zcash
Zcash halo2 Gadgets Zcash librustzcash Zcash orchard Zcash zcash Zcashfoundation Zcashfoundation zebra |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad 5.0.0, halo2_gadgets 0.5.0, orchard 0.14.0, zcash_primitives 0.28.0, and zcashd 6.20.0, the variable-base scalar multiplication gadget in halo2_gadgets/src/ecc/chip/mul/incomplete.rs used assign_advice() for the base point without a copy constraint tying it to the actual base, allowing a malicious prover to produce a valid proof for an Orchard Action with an under-constrained base point and bypass the diversified-address-integrity check that binds pk_d, g_d, ivk, the nullifier (nf), and the spend validating key (ak) to the note being spent. This issue is fixed in zebrad 5.0.0, halo2_gadgets 0.5.0, orchard 0.14.0, zcash_primitives 0.28.0, and zcashd 6.20.0. | |
| Title | Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness | |
| Weaknesses | CWE-345 | |
| References |
|
|
| Metrics |
cvssV3_1
|