Impact
The vulnerability arises from Crypt::DSA's use of a biased random number generator within Crypt::DSA::Util::makerandom when producing the signing nonce and private key. By forcing the high bit to be set, the generator produces non‑uniform integers, violating the requirement for a truly random value. This weakness, classified as CWE‑330 and CWE‑338, enables an attacker who gathers a modest number of signatures made with the affected key, together with the public key, to perform a lattice attack that recovers the private key. The loss of the private key compromises the integrity and authenticity of all signatures generated by that key.
Affected Systems
The affected product is TIMLEGGE Crypt::DSA for Perl, versions before 1.22. Although the module has been deprecated since 1.20, any version earlier than 1.22 remains vulnerable and should be avoided or upgraded. Users of Crypt::DSA 1.21 or older are exposed, regardless of the environment in which the module runs.
Risk and Exploitability
Given the CVSS score of 7.5, the vulnerability is of high severity. The EPSS score of less than 1% and its absence from the CISA KEV catalog indicate that exploitation is currently unlikely in the wild, but the cryptographic weakness remains a serious threat to any key in use. An attacker only needs a set of publicly observable signatures and the corresponding public key to mount the attack; therefore production systems that sign logs, certificates, or other data with an affected key must address the risk immediately.
OpenCVE Enrichment