Read the docs
TI-2022-13066 Aliases CVE-2022-31021GHSA-2q6j-gqc4-4gw3

Unlinkability broken in ursa when verifiers use malicious keys

Priority MEDIUM 57CWE-829Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
Low · None · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-829.

Summary

Ursa is a cryptographic library for use with blockchains. A weakness in the Hyperledger AnonCreds specification that is not mitigated in the Ursa and AnonCreds implementations is that the Issuer does not publish a key correctness proof demonstrating that a generated private key is sufficient to meet the unlinkability guarantees of AnonCreds. The Ursa and AnonCreds CL-Signatures implementations always generate a sufficient private key. A malicious issuer could in theory create a custom CL Signature implementation (derived from the Ursa or AnonCreds CL-Signatures implementations) that uses weakened private keys such that presentations from holders could be shared by verifiers to the issuer who could determine the holder to which the credential was issued. This vulnerability could impact holders of AnonCreds credentials implemented using the CL-signature scheme in the Ursa and AnonCreds implementations of CL Signatures. The ursa project has has moved to end-of-life status and no fix is expected.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00428 37th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
hyperledgerursaup to 0.3.7—No fix listedCNA
—anoncreds-clsignatures (crates.io)all versions—No fix listedGHSA-2q6j-gqc4-4gw3
—ursa (crates.io)up to 0.3.7—No fix listedGHSA-2q6j-gqc4-4gw3
  • ursa Vendorhyperledger Affected up to 0.3.7 Fixed in — No fix listed CNA
  • anoncreds-clsignatures (crates.io) Vendor— Affected all versions Fixed in — No fix listed GHSA-2q6j-gqc4-4gw3
  • ursa (crates.io) Vendor— Affected up to 0.3.7 Fixed in — No fix listed GHSA-2q6j-gqc4-4gw3

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:hyperledger:ursa:*:*:*:*:*:rust:*:*before 0.3Vulnerablehyperledger
  • cpe:2.3:a:hyperledger:ursa:*:*:*:*:*:rust:*:* Versions before 0.3 Vulnerable ·hyperledger

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2022-31021
  2. 2026-10-03 Alias added: GHSA-2q6j-gqc4-4gw3

References

  • TI-2024-14391 Broken or risky cryptographic algorithm in hyperledger-archives ursa CVSS 3.1HIGH 8.1
  • TI-2024-14785 Ursa CL-Signatures Revocation allows verifiers to generate unique identifiers for holders CVSS 3.1MEDIUM 6.5

Sources