Skip to main content

Crypt::DSA EUVDEUVD-2026-41713

| CVE-2026-14570 HIGH
Use of Insufficiently Random Values (CWE-330)
2026-07-05 CPANSec GHSA-v6rc-95xw-8xp5
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain public key and collect several signatures
  2. Delivery
    Recover known high-bit nonce bias
  3. Exploit
    Build lattice / hidden number problem
  4. Execution
    Solve to recover DSA private key
  5. Impact
    Forge signatures or impersonate key holder

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Cryptographic random values
Exploitation Conditions

Exploitation requires that the target generated its DSA key and/or produced signatures using Crypt::DSA before version 1.22, so that the nonce and private key carry the fixed-high-bit bias from makerandom. The attacker must obtain the public key and a modest number of valid signatures created under that key - a single signature is insufficient; the lattice attack needs several. What limits exploitation: it is an offline cryptanalytic attack (no live access to the victim host is required, but signatures must be harvested first), it does not affect keys generated by fixed versions, and it is specific to DSA signing via this module - applications that use Crypt::DSA only for verification, or that never expose signatures, are not directly at risk of key recovery.

Impact

Signals are mixed and point to a real-but-not-urgent cryptographic weakness rather than a mass-exploitation event. CVSS 3.1 is 7.5 (AV:N/AC:L/PR:N/UI:N/C:H) reflecting the high-value outcome - full private-key disclosure - with no confidentiality-only scope. However, the CVSS AV:N/AC:L rating understates practical effort: exploitation is an offline mathematical attack requiring the attacker to first collect multiple valid signatures and the public key, so real-world complexity is higher than 'low'. SSVC aligns with a measured posture: Exploitation = none (no observed in-the-wild activity), Automatable = yes (the lattice attack scales once signatures are gathered), Technical Impact = partial. EPSS is low (0.21%, 11th percentile) and the CVE is not in CISA KEV. Net: prioritize for any system that signs with Crypt::DSA and exposes signatures, because the impact (permanent key compromise) is severe and irreversible, but this is not a drop-everything internet-worm scenario. No data conflict of note; the main caveat is that 'modest number of signatures' is not quantified in the advisory.

Exploit ScenarioDerived

An attacker passively collects a handful of DSA signatures generated by an application using Crypt::DSA <1.22 (for example from signed messages, tokens, or artifacts) along with the corresponding public key. Because each signing nonce has a fixed high bit, the attacker feeds the signatures into a lattice (hidden-number-problem) solver and recovers the private key offline, then forges arbitrary valid signatures. No public exploit is identified at time of analysis, but the technique is standard cryptographic tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 22, 2026

Private-key recovery in the Crypt::DSA Perl module (all versions before 1.22) stems from a biased random number generator that forces the high bit of every value returned by Crypt::DSA::Util::makerandom, making both the DSA signing nonce and the private key non-uniform. An attacker who obtains the public key plus a modest number of signatures produced under an affected key can reconstruct the private key using a lattice attack. There is no public exploit identified at time of analysis, but the underlying nonce-bias lattice technique is well documented and EPSS remains low at 0.21%.

RemediationAI

Vendor-released patch: Crypt::DSA 1.22 - upgrade to 1.22 or later from CPAN immediately (see the change log at https://metacpan.org/release/TIMLEGGE/Crypt-DSA-1.22/changes and the fix diff at https://metacpan.org/release/TIMLEGGE/Crypt-DSA-1.22/diff/TIMLEGGE/Crypt-DSA-1.21). Upgrading alone is not sufficient: because the bias affects key generation and signing, any key that was ever generated or used to sign with an affected version must be treated as compromised and rotated - generate fresh DSA keys (or migrate to a modern scheme) after patching and re-issue/re-sign as needed. As a compensating step until keys are rotated, limit exposure of existing signatures produced by affected keys (an attacker needs several to run the lattice attack) and revoke trust in the old public keys where a revocation mechanism exists; note this can break signature verification for consumers still pinned to the old key. Consult the CPANSec advisory at https://seclists.org/oss-sec/2026/q3/28 and https://nvd.nist.gov/vuln/detail/CVE-2026-14570 for details.

Affected VersionsENISA

Crypt::DSA 0 <1.22

Affected Packages

euvd crypt_dsa fix: 1.22

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Crypt::DSA is a pure-Perl implementation of the Digital Signature Algorithm (DSA/DSS). The flaw lives in the utility routine Crypt::DSA::Util::makerandom (lib/Crypt/DSA/Util.pm), which was designed to force the top bit high so that prime-search candidates are exactly N bits wide. That behavior is correct for generating prime candidates but wrong when the same function is reused to draw the per-signature nonce (k) and the long-term private key (x): the fixed high bit removes one bit of entropy and, more importantly, makes the values non-uniform with a known structural bias. DSA is acutely sensitive to nonce bias - even a few known bits of k across several signatures let an attacker set up a hidden number problem and solve for the private key via lattice reduction (LLL/BKZ). This maps to CWE-330 (Use of Insufficiently Random Values); the root cause is not a broken PRNG source but a post-processing step that destroys uniformity.

Know when Crypt gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Offline lattice attack requiring collection of multiple signatures raises AC to High; no auth or interaction needed (PR:N/UI:N); impact is full private-key disclosure (C:H), with forgery a downstream consequence not scored here.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 7.5 HIGH

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
Patch available
Jul 05, 2026 - 03:01 EUVD
CVE Published
Jul 05, 2026 - 01:30 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 05, 2026 - 01:30 cve.org
HIGH 7.5

DescriptionCVE.org

Crypt::DSA versions before 1.22 for Perl draw the DSA signing nonce and private key from a biased random generator, leading to private-key recovery.

"Crypt::DSA::Util::makerandom forces the high bit of every value it returns to obtain an exactly N-bit integer for prime search. The signing nonce and the private key are drawn from makerandom. Because the high bit is always set, the result is not uniform: its top bit is fixed, producing insecure values."

An attacker who collects a modest number of signatures under an affected key, together with the public key, can recover the private key with a lattice attack.

Keys used to sign with an affected version should be considered compromised and new keys should be generated.

Executive ViewAI

Why It Matters

Crypt::DSA Perl module (versions prior to 1.22) permits attackers with access to public keys and signatures to recover private keys through cryptanalytic lattice attacks. Organizations relying on this library for DSA cryptographic operations must patch immediately to prevent compromise of cryptographic authentication and data integrity across affected systems.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche Perl crypto module; DSA usage broadly deprecated and declining
Social Media
3
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Crypt

View all
CVE-2026-16235 CRITICAL
9.8 Jul 20

Predictable salt generation in Crypt::Password through version 0.28 for Perl weakens the security of stored password has

CVE-2026-30909 CRITICAL
9.8 Mar 08

Perl Crypt::NaCl::Sodium module through 2.002 has potential integer overflows in cryptographic operations that could wea

CVE-2025-15444 CRITICAL
9.8 Jan 06

Crypt::Sodium::XS for Perl bundles a vulnerable version of libsodium (<= 1.0.20) that has a signature verification flaw.

CVE-2026-9265 CRITICAL
9.1 Jun 20

Heap out-of-bounds read in the Perl module Crypt::OpenSSL::PKCS12 before version 1.96 lets a crafted PKCS#12 file leak a

CVE-2026-58102 CRITICAL
9.1 Jul 13

Heap out-of-bounds read in the Crypt::OpenSSL::X509 Perl module (versions before 2.1.3) lets a crafted X.509 certificate

CVE-2026-2588 CRITICAL
9.1 Feb 23

Integer overflow in Crypt::NaCl::Sodium Perl module through version 2.001 on 32-bit systems. The Sodium.xs binding casts

CVE-2026-17510 HIGH
7.5 Aug 09

NULL pointer dereference in Crypt::OpenSSL::PKCS12 before version 1.98 for Perl enables process crashes when any caller

CVE-2026-6656 HIGH
7.5 Jul 20

Timing side-channel in the Crypt::Password Perl module (versions through 0.28) allows attackers to incrementally guess a

CVE-2026-58101 HIGH
7.5 Jul 13

Denial of service in the Crypt::OpenSSL::X509 Perl module before 2.1.3 lets a malformed X.509 certificate crash any Perl

CVE-2026-2597 HIGH
7.5 Feb 27

Heap buffer overflow in Crypt::SysRandom::XS before version 0.010 allows denial of service through negative length param

CVE-2026-2474 HIGH
7.5 Feb 16

Heap buffer overflow in Perl's Crypt::URandom module (versions 0.41-0.54) allows denial of service through integer wrapa

CVE-2026-30910 HIGH
7.5 Mar 08

Crypt::Sodium::XS versions through 0.001000 for Perl has potential integer overflows. Combined aead encryption, combined

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy