CVE-2025-1828
Published: 11 March 2025
Summary
CVE-2025-1828 is a high-severity Insufficient Entropy (CWE-331) vulnerability in Timlegge Crypt\. Its CVSS base score is 8.8 (High).
Operationally, ranked at the 36.7th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-2 (Flaw Remediation) and CM-6 (Configuration Settings).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly requires timely remediation of the insufficient entropy flaw in Crypt::Random versions 1.05-1.55 by applying patches such as those in Crypt-OpenPGP commit 1f8b29e9.
Enforces secure configuration settings to specify strong Providers or ensure /dev/urandom/EGD availability, preventing fallback to the insecure Crypt::Random::rand provider.
Provides vulnerability scanning to identify deployed instances of vulnerable Crypt::Random package versions for remediation.
MITRE ATT&CK Enterprise TechniquesAI
Insufficient information to map techniques.NVD Description
Crypt::Random Perl package 1.05 through 1.55 may use rand() function, which is not cryptographically strong, for cryptographic functions. If the Provider is not specified and /dev/urandom or an Entropy Gathering Daemon (egd) service is not available Crypt::Random will default to…
more
use the insecure Crypt::Random::rand provider. In particular, Windows versions of perl will encounter this issue by default.
Deeper analysisAI
CVE-2025-1828 affects the Crypt::Random Perl package in versions 1.05 through 1.55, where it may use the Perl rand() function—which is not cryptographically strong—for generating random values in cryptographic functions. This occurs when no Provider is specified and strong entropy sources like /dev/urandom or an Entropy Gathering Daemon (EGD) service are unavailable, causing the package to default to the insecure Crypt::Random::rand provider. Windows versions of Perl are particularly susceptible to this issue by default.
Attackers can exploit this vulnerability remotely with low complexity and no privileges required, though it necessitates user interaction such as running malicious or affected Perl scripts. Successful exploitation generates predictable random values, leading to high impacts on confidentiality, integrity, and availability (CVSS 8.8: AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H), potentially enabling attacks like key prediction, nonce reuse, or forgery in cryptographic operations dependent on the module. Associated weaknesses include CWE-331 (Insufficient Entropy) and CWE-338 (Use of Cryptographically Weak PRNG).
Mitigation involves updating Crypt::Random to a patched version, as indicated by fixes in the Crypt-OpenPGP repository, including commit 1f8b29e9e89d8d083fd025152e76ec918136cc05 and pull request 1. Users should also explicitly specify a secure Provider or ensure availability of /dev/urandom or EGD services, avoiding reliance on the default rand() behavior documented in Perl's rand function reference.
Details
- CWE(s)