{"id":"CVE-2026-12205","aliases":["DEBIAN-CVE-2026-12205","EUVD-2026-37016","GHSA-88g7-87jg-w4q9","UBUNTU-CVE-2026-12205"],"status":"published","title":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-10","score":0.00289,"percentile":0.21619,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-323"],"published":"2026-06-15T21:57:18Z","modified":"2026-10-28T02:30:22Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-5","1.19-1","1.20-1","1.21-1"]},{"source":"osv","ecosystem":"Debian:13","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.19-1","1.20-1","1.21-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-3","1.17-4"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-4"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-4"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-4"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.17-5"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.19-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"libcrypt-dsa-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.19-1"]}],"products":[{"vendor":"timlegge","product":"crypt::dsa"}],"references":[{"url":"https://metacpan.org/release/TIMLEGGE/Crypt-DSA-1.20/source/lib/Crypt/DSA.pm#L47","tags":["web"]},{"url":"https://metacpan.org/release/TIMLEGGE/Crypt-DSA-1.21/changes","tags":["release-notes","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2026/06/15/4","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12205","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-88g7-87jg-w4q9"},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/12xxx/CVE-2026-12205.json","tags":["advisory"]},{"url":"https://github.com/perl-Crypt-OpenPGP/Crypt-DSA","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-12205","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-12205","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-12205","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/41004653/","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-12205","title":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T21:57:18.317Z","modified":"2026-06-16T16:13:32.533Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"adp"}],"cwes":["CWE-323"],"updated_at":"2026-11-02T14:19:48.461833Z"}],"euvd":[{"id":"EUVD-2026-37016","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T21:57:18Z","modified":"2026-06-16T16:13:32Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T18:20:40.24472Z"}],"ghsa":[{"id":"GHSA-88g7-87jg-w4q9","title":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private...","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-16T00:34:24Z","modified":"2026-06-16T18:33:40Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"cwes":["CWE-323"],"updated_at":"2026-11-02T15:08:48.835344Z"}],"nvd":[{"id":"CVE-2026-12205","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T23:16:43.15Z","modified":"2026-10-25T23:10:00.167Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"secondary"}],"cwes":["CWE-323"],"updated_at":"2026-11-02T14:12:24.19758Z"}],"osv":[{"id":"CVE-2026-12205","title":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.\n\nCrypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.\n\nThe first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".\n\nKeys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T21:57:18.317Z","modified":"2026-10-28T02:30:22.769879375Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"cwes":["CWE-323"],"updated_at":"2026-11-02T15:44:57.354194Z"},{"id":"DEBIAN-CVE-2026-12205","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery.  Crypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it.  The first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\".  Keys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T23:16:43.15Z","modified":"2026-10-26T11:47:24.870756855Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:45:51.374409Z"},{"id":"UBUNTU-CVE-2026-12205","description":"Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery. Crypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it. The first sign() on a Key object picks a nonce, and every later sign() on that same object reuses it, producing an identical \"r\". Keys used to sign more than once with an affected version should be considered compromised.","status":"published","published":"2026-06-15T23:16:00Z","modified":"2026-06-24T11:01:17.193602483Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T16:56:00.592716Z"}]}}
