Skip to content
OpenAdvisories
Critical · 9.1 CVE-2026-12205 EUVD-2026-37016GHSA-88g7-87jg-w4q9

Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery

Published Jun 15, 2026 · Updated Jun 16, 2026 · Assigned by CPANSec

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.

Affected products

VendorProductAffectedFixed
TIMLEGGE Crypt::DSA < 1.21 1.21

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 13 libcrypt-dsa-perl No fix yet —
Debian 12 libcrypt-dsa-perl No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS libcrypt-dsa-perl No fix yet —
Ubuntu 25.10 libcrypt-dsa-perl No fix yet —
Ubuntu 24.04 LTS libcrypt-dsa-perl No fix yet —
Ubuntu 22.04 LTS libcrypt-dsa-perl No fix yet —
Ubuntu 20.04 LTS libcrypt-dsa-perl No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS libcrypt-dsa-perl No fix yet —
Ubuntu 16.04 LTS libcrypt-dsa-perl No fix yet —

References