9.3 CRITICAL
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Changed (C)
- Confidentiality (C): None (N)
- Integrity (I): High (H)
- Availability (A): Low (L)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): High (H)
- Modified Availability (MA): Low (L)
Activity log
- Created suggestion
Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness
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.
References
-
https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-ww9q-8r59-xv46 x_refsource_CONFIRM
-
https://github.com/ZcashFoundation/zebra/releases/tag/v5.0.0 x_refsource_MISC
-
https://github.com/zcash/halo2/releases/tag/halo2_gadgets-0.5.0 x_refsource_MISC
-
https://github.com/zcash/orchard/releases/tag/0.14.0 x_refsource_MISC
-
https://github.com/zcash/zcash/releases/tag/v6.20.0 x_refsource_MISC
Affected products
- ==< 6.20.0
- ==< 5.0.0
- ==< 0.14.0
- ==< 0.28.0
- ==< 0.5.0
Matching in nixpkgs
pkgs.zcash
Peer-to-peer, anonymous electronic cash system
pkgs.orchard
Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices
pkgs.typstPackages.zebra
A QR code and Data Matrix generator using Typst native rendering
pkgs.typstPackages.zebraw
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebra-notes
Elegant, non-intrusive collaborative note-taking and task marking for Typst documents. Features automatic numbering, bilingual support, and automated summary tables
pkgs.typstPackages.zebra_0_1_0
A QR code and Data Matrix generator using Typst native rendering
pkgs.typstPackages.zebraw_0_1_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_2_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_3_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_1
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_2
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_3
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_4
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_5
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_6
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_7
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_4_8
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_1
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_2
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_3
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_4
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_5_5
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_6_0
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_6_1
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebraw_0_6_3
A lightweight and fast package for displaying code blocks with line numbers or highlighting
pkgs.typstPackages.zebra-notes_0_1_0
Elegant, non-intrusive collaborative note-taking and task marking for Typst documents. Features automatic numbering, bilingual support, and automated summary tables
Package maintainers
-
@techknowlogick techknowlogick <techknowlogick@gitea.com>
-
@cherrypiejam Gongqi Huang
-
@RossSmyth Ross Smyth
-
@centromere Alex Wied <nix@centromere.net>
-
@tkerber Thomas Kerber <tk@drwx.org>