CVE-2026-54496

Source
https://cve.org/CVERecord?id=CVE-2026-54496
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54496.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54496
Aliases
Published
2026-07-17T16:59:06.809Z
Modified
2026-07-19T03:47:26.830557726Z
Severity
  • 9.3 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L CVSS Calculator
Summary
Missing copy constraint in halo2_gadgets variable-base scalar multiplication allows under-constrained base, breaking Orchard Action circuit soundness
Details

ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad 5.0.0, halo2gadgets 0.5.0, orchard 0.14.0, zcashprimitives 0.28.0, and zcashd 6.20.0, the variable-base scalar multiplication gadget in halo2gadgets/src/ecc/chip/mul/incomplete.rs used assignadvice() 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 pkd, gd, ivk, the nullifier (nf), and the spend validating key (ak) to the note being spent. This issue is fixed in zebrad 5.0.0, halo2gadgets 0.5.0, orchard 0.14.0, zcashprimitives 0.28.0, and zcashd 6.20.0.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54496.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-345"
    ]
}
References

Affected packages

Git / github.com/zcash/halo2

Affected ranges

Type
GIT
Repo
https://github.com/zcash/halo2
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "AFFECTED_FIELD",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.5.0"
        }
    ]
}
Type
GIT
Repo
https://github.com/zcash/librustzcash
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
{
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ],
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.14.0"
        },
        {
            "fixed": "0.28.0"
        }
    ]
}
Type
GIT
Repo
https://github.com/zcash/orchard
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "REFERENCES"
}
Type
GIT
Repo
https://github.com/zcash/zcash
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ],
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "6.20.0"
        }
    ]
}
Type
GIT
Repo
https://github.com/zcashfoundation/zebra
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ],
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "5.0.0"
        }
    ]
}

Affected versions

0.*
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
4.*
4.3.1
bitcoin-v0.*
bitcoin-v0.11.2
Other
ecc_sdk-20240129
ecc_sdk-20240130a
github_releases_tombstone
f4jumble-0.*
f4jumble-0.1.0
halo2_gadgets-0.*
halo2_gadgets-0.1.0
halo2_gadgets-0.2.0
halo2_gadgets-0.3.0
halo2_gadgets-0.4.0
halo2_proofs-0.*
halo2_proofs-0.1.0
halo2_proofs-0.2.0
halo2_proofs-0.3.0
v0.*
v0.1.0-beta.1
v0.1.0-beta.2
v0.1.0-beta.3
v0.11.2.z0
v0.11.2.z1
v0.11.2.z2
v0.11.2.z3
v0.11.2.z4
v0.11.2.z5
v0.11.2.z6
v0.11.2.z7
v0.11.2.z8
v0.11.2.z9
v0.9.0rc2
v1.*
v1.0.0
v1.0.0-alpha.0
v1.0.0-alpha.1
v1.0.0-alpha.10
v1.0.0-alpha.11
v1.0.0-alpha.12
v1.0.0-alpha.13
v1.0.0-alpha.14
v1.0.0-alpha.15
v1.0.0-alpha.16
v1.0.0-alpha.17
v1.0.0-alpha.18
v1.0.0-alpha.19
v1.0.0-alpha.2
v1.0.0-alpha.3
v1.0.0-alpha.4
v1.0.0-alpha.5
v1.0.0-alpha.6
v1.0.0-alpha.7
v1.0.0-alpha.8
v1.0.0-alpha.9
v1.0.0-beta.0
v1.0.0-beta.1
v1.0.0-beta.10
v1.0.0-beta.11
v1.0.0-beta.12
v1.0.0-beta.13
v1.0.0-beta.14
v1.0.0-beta.15
v1.0.0-beta.2
v1.0.0-beta.3
v1.0.0-beta.4
v1.0.0-beta.5
v1.0.0-beta.6
v1.0.0-beta.7
v1.0.0-beta.8
v1.0.0-beta.9
v1.0.0-beta1
v1.0.0-beta2
v1.0.0-rc.0
v1.0.0-rc.1
v1.0.0-rc.2
v1.0.0-rc.3
v1.0.0-rc.4
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.0.0-rc1
v1.0.0-rc2
v1.0.0-rc3
v1.0.0-rc4
v1.0.1
v1.0.10
v1.0.10-1
v1.0.11
v1.0.11-rc1
v1.0.12
v1.0.12-rc1
v1.0.13
v1.0.13-rc1
v1.0.13-rc2
v1.0.14
v1.0.14-rc1
v1.0.15
v1.0.15-rc1
v1.0.2
v1.0.3
v1.0.4
v1.0.5
v1.0.6
v1.0.7-1
v1.0.8
v1.0.8-1
v1.0.9
v1.1.0
v1.1.0-rc1
v1.1.1
v1.1.1-rc1
v1.1.1-rc2
v1.1.2
v1.1.2-rc1
v1.2.0
v1.3.0
v1.4.0
v1.5.0
v1.5.1
v1.5.2
v1.6.0
v1.6.1
v1.7.0
v1.8.0
v1.9.0
v2.*
v2.0.0
v2.0.0-rc.0
v2.0.0-rc1
v2.0.1
v2.0.1-rc1
v2.0.2
v2.0.2-rc1
v2.0.3
v2.0.3-rc1
v2.0.4
v2.0.4-rc1
v2.0.5
v2.0.5-1
v2.0.5-2
v2.0.5-rc1
v2.0.6
v2.0.6-rc1
v2.0.7
v2.0.7-2
v2.0.7-rc1
v2.1.0
v2.1.0-rc1
v2.1.1
v2.1.1-rc1
v2.1.1-rc2
v2.1.2
v2.1.2-rc1
v2.2.0
v2.3.0
v2.4.0
v2.4.2
v2.5.0
v3.*
v3.0.0
v3.0.0-rc.0
v3.0.0-rc1
v3.1.0
v3.1.0-rc1
v3.1.0-rc2
v4.*
v4.0.0
v4.0.0-rc1
v4.1.0
v4.1.0-rc1
v4.1.1
v4.2.0
v4.2.0-rc1
v4.3.0
v4.3.0-rc1
v4.3.1
v4.4.0
v4.4.0-rc1
v4.4.1
v4.4.1-rc1
v4.5.0
v4.5.0-rc1
v4.5.1
v4.6.0
v4.6.0-rc1
v4.7.0
v4.7.0-rc1
v5.*
v5.1.0-rc1
v5.3.0-gitian
zc.*
zc.v0.11.2.z0
zcash_address-0.*
zcash_address-0.1.0
zcash_address-0.2.0
zcash_address-0.2.1
zcash_client_backend-0.*
zcash_client_backend-0.5.0
zcash_client_backend-0.6.0
zcash_client_backend-0.6.1
zcash_client_backend-0.7.0
zcash_client_backend-0.8.0
zcash_client_backend-0.9.0
zcash_client_sqlite-0.*
zcash_client_sqlite-0.3.0
zcash_client_sqlite-0.4.0
zcash_client_sqlite-0.4.1
zcash_client_sqlite-0.4.2
zcash_client_sqlite-0.5.0
zcash_client_sqlite-0.6.0
zcash_client_sqlite-0.7.0
zcash_encoding-0.*
zcash_encoding-0.1.0
zcash_encoding-0.2.0
zcash_history-0.*
zcash_history-0.3.0
zcash_note_encryption-0.*
zcash_note_encryption-0.3.0
zcash_primitives-0.*
zcash_primitives-0.10.0
zcash_primitives-0.10.1
zcash_primitives-0.10.2
zcash_primitives-0.11.0
zcash_primitives-0.14.0
zcash_primitives-0.5.0
zcash_primitives-0.6.0
zcash_primitives-0.8.0
zcash_primitives-0.8.1
zcash_primitives-0.9.0
zcash_primitives-0.9.1
zcash_proofs-0.*
zcash_proofs-0.10.0
zcash_proofs-0.11.0
zcash_proofs-0.5.0
zcash_proofs-0.6.0
zcash_proofs-0.8.0
zcash_proofs-0.9.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54496.json"