CVE-2026-12205
Description
Crypt::DSA before 1.21 reuses the DSA nonce across signatures, allowing private-key recovery from two signatures.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Crypt::DSA before 1.21 reuses the DSA nonce across signatures, allowing private-key recovery from two signatures.
Vulnerability
Crypt::DSA versions before 1.21 for Perl reuse the DSA nonce (k) across multiple signing operations. The sign() method caches the nonce material in the Key object without clearing it, so the first call picks a nonce and every subsequent call reuses it, producing an identical "r" value. This is a CWE-323: Reusing a Nonce, Key Pair in Encryption vulnerability. All keys used to sign more than once with an affected version should be considered compromised [1][2].
Exploitation
An attacker needs access to two distinct DSA signatures produced by the same key using an affected version. No special network position or authentication beyond obtaining the two signatures and their corresponding messages is required. The known mathematical relationship between the two signatures and messages allows recovery of the private key [1][2].
Impact
Successful exploitation recovers the full DSA private key. This enables the attacker to forge signatures on arbitrary messages, impersonate the legitimate key holder, or decrypt any data that relies on the key for trust. The impact is complete compromise of the cryptographic identity and any systems depending on it [1][2].
Mitigation
Fixed in version 1.21, released 2026-06-14. The fix ensures that a fresh nonce is generated for every signature. The module is now marked as deprecated; Crypt-DSA-GMP is a suggested replacement. Keys used to sign more than once with an affected version should be considered compromised [1]. No workaround is available for the vulnerability beyond upgrading.
AI Insight generated on Jun 15, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2- Range: <1.21
Patches
0No patches discovered yet.
Vulnerability mechanics
No source-code context for this CVE — mechanics is only generated when we can read the actual fix diff. Without that, the four sections (root cause, attack vector, affected code, fix) would be speculation rather than analysis.
References
3News mentions
0No linked articles in our index yet.