CWE-338— Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.— MITRE CWE catalog
226 active CVEs classified under this weakness category. Sourced from NVD, GHSA, and vendor advisories. Full definition on MITRE →
CVEs classified under CWE-338page 4 of 5
- CVE-2026-8503MEDIUMCVSS 6.5EG 6.52026-05-15
Apache::Session::Generate::SHA256 versions before 1.3.19 for Perl create insecure session ids. Apache::Session::Generate::SHA256 generated session ids insecurely. The default session id generator returns a SHA-256 hash of the built-in ran…
- CVE-2026-5084MEDIUMCVSS 6.5EG 6.52026-05-11
WebDyne::Session versions before 3.003_704 for Perl generate the session id insecurely. The session handler generates the session id from an MD5 hash seeded with a call to the built-in rand() function. The rand function is passed a maximu…
- CVE-2026-3255MEDIUMCVSS 6.5EG 6.52026-02-27
HTTP::Session2 versions before 1.12 for Perl for Perl may generate weak session ids using the rand() function. The HTTP::Session2 session id generator returns a SHA-1 hash seeded with the built-in rand function, the epoch time, and the PI…
- CVE-2025-40924MEDIUMCVSS 6.5EG 6.52025-07-17
Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely. The session id is generated from a (usually SHA-1) hash of a simple counter, the epoch time, the built-in rand function, the PID and the current Cata…
- CVE-2025-40919MEDIUMCVSS 6.5EG 6.52025-07-16
Authen::DigestMD5 versions 0.01 through 0.02 for Perl generate the cnonce insecurely. The cnonce (client nonce) is generated from an MD5 hash of the PID, the epoch time and the built-in rand function. The PID will come from a small set of…
- CVE-2025-40918MEDIUMCVSS 6.5EG 6.52025-07-16
Authen::SASL::Perl::DIGEST_MD5 versions 2.04 through 2.1800 for Perl generates the cnonce insecurely. The cnonce (client nonce) is generated from an MD5 hash of the PID, the epoch time and the built-in rand function. The PID will come fro…
- CVE-2024-56370MEDIUMCVSS 6.5EG 6.52025-04-05
Net::Xero 0.044 and earlier for Perl uses the rand() function as the default source of entropy, which is not cryptographically secure, for cryptographic functions. Specifically Net::Xero uses the Data::Random library which specifically st…
- CVE-2024-45723MEDIUMCVSS 6.5EG 6.52024-09-26
The goTenna Pro ATAK Plugin does not use SecureRandom when generating passwords for sharing cryptographic keys. The random function in use makes it easier for attackers to brute force this password if the broadcasted encryption key is c…
- CVE-2022-29245MEDIUMCVSS 6.5EG 6.52022-05-31
SSH.NET is a Secure Shell (SSH) library for .NET. In versions 2020.0.0 and 2020.0.1, during an `X25519` key exchange, the client’s private key is generated with `System.Random`. `System.Random` is not a cryptographically secure random nu…
- CVE-2021-3990MEDIUMCVSS 6.5EG 6.52021-12-01
showdoc is vulnerable to Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
- CVE-2021-0131MEDIUMCVSS 6.5EG 6.52021-06-09
Use of cryptographically weak pseudo-random number generator (PRNG) in an API for the Intel(R) Security Library before version 3.3 may allow an authenticated user to potentially enable information disclosure via network access.
- CVE-2020-6616MEDIUMCVSS 6.5EG 6.52020-05-08
Some Broadcom chips mishandle Bluetooth random-number generation because a low-entropy Pseudo Random Number Generator (PRNG) is used in situations where a Hardware Random Number Generator (HRNG) should have been used to prevent spoofing. T…
- CVE-2018-5871MEDIUMCVSS 6.5EG 6.52018-09-20
In Snapdragon (Automobile, Mobile, Wear) in version MDM9206, MDM9607, MDM9640, MDM9650, MSM8996AU, QCA6574AU, SD 210/SD 212/SD 205, SD 425, SD 427, SD 430, SD 435, SD 450, SD 615/16/SD 415, SD 625, SD 650/52, SD 820A, SD 835, SD 845, SD 85…
- CVE-2025-21617MEDIUMCVSS 6.3EG 6.32025-01-06
Guzzle OAuth Subscriber signs Guzzle requests using OAuth 1.0. Prior to 0.8.1, Nonce generation does not use sufficient entropy nor a cryptographically secure pseudorandom source. This can leave servers vulnerable to replay attacks when TL…
- CVE-2026-104356MEDIUMCVSS 5.9EG 5.92026-10-01
PictShare before version 3.7.1 contains a weak randomness vulnerability where the getRandomString() function uses the non-cryptographic rand() PRNG to generate the delete_code authorization token in src/inc/core.php. Attackers can predict …
- CVE-2026-74887MEDIUMCVSS 5.9EG 5.92026-08-17
openssl_encrypt before 1.4.0 imports Python's non-cryptographic 'random' module (Mersenne Twister PRNG) at line 15 of openssl_encrypt/modules/pqc.py. No direct calls to random.* were present in the code, so no cryptographic operation is cu…
- CVE-2026-56016MEDIUMCVSS 5.9EG 5.92026-07-01
CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources. The generate_id method builds the session id from a MD5 digest of the process id, the epoch time, and the built-in rand() funct…
- CVE-2026-57082MEDIUMCVSS 5.9EG 5.92026-06-30
Net::BitTorrent versions before 2.1.0 for Perl generate the MSE Diffie-Hellman private key with a non-cryptographic PRNG. The MSE (Message Stream Encryption) handshake derives its 160-bit Diffie-Hellman private key from Perl's rand(), a n…
- CVE-2026-5080MEDIUMCVSS 5.9EG 5.92026-04-30
Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely. The session id is generated from summing the character codepoints of the absolute pathname with the process id, the epoch time and calls to the b…
- CVE-2026-40514MEDIUMCVSS 5.9EG 5.92026-04-27
SmarterTools SmarterMail builds prior to 9610 contain a cryptographic weakness in the file and email sharing endpoints that use DES-CBC encryption with keys and initialization vectors derived from System.Random seeded with insufficient ent…
- CVE-2024-45751MEDIUMCVSS 5.9EG 5.92024-09-06
tgt (aka Linux target framework) before 1.0.93 attempts to achieve entropy by calling rand without srand. The PRNG seed is always 1, and thus the sequence of challenges is always identical.
- CVE-2024-5264MEDIUMCVSS 5.9EG 5.92024-05-23
Network Transfer with AES KHT in Thales Luna EFT 2.1 and above allows a user with administrative console access to access backups taken via offline analysis
- CVE-2024-4772MEDIUMCVSS 5.9EG 5.92024-05-14
An HTTP digest authentication nonce value was generated using `rand()` which could lead to predictable values. This vulnerability affects Firefox < 126.
- CVE-2024-31497MEDIUMCVSS 5.9EG 5.92024-04-15
In PuTTY 0.68 through 0.80 before 0.81, biased ECDSA nonce generation allows an attacker to recover a user's NIST P-521 secret key via a quick attack in approximately 60 signatures. This is especially important in a scenario where an adver…
- CVE-2023-34363MEDIUMCVSS 5.9EG 5.92023-06-09
An issue was discovered in Progress DataDirect Connect for ODBC before 08.02.2770 for Oracle. When using Oracle Advanced Security (OAS) encryption, if an error is encountered initializing the encryption object used to encrypt data, the cod…
- CVE-2023-31290MEDIUMCVSS 5.9EG 5.92023-04-27
Trust Wallet Core before 3.1.1, as used in the Trust Wallet browser extension before 0.0.183, allows theft of funds because the entropy is 32 bits, as exploited in the wild in December 2022 and March 2023. This occurs because the mt19937 M…
- CVE-2022-23472MEDIUMCVSS 5.9EG 5.92022-12-06
Passeo is an open source python password generator. Versions prior to 1.0.5 rely on the python `random` library for random value selection. The python `random` library warns that it should not be used for security purposes due to its relia…
- CVE-2021-3678MEDIUMCVSS 5.9EG 5.92021-08-04
showdoc is vulnerable to Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
- CVE-2008-3280MEDIUMCVSS 5.9EG 5.92021-05-21
It was found that various OpenID Providers (OPs) had TLS Server Certificates that used weak keys, as a result of the Debian Predictable Random Number Generator (CVE-2008-0166). In combination with the DNS Cache Poisoning issue (CVE-2008-14…
- CVE-2020-10560MEDIUMCVSS 5.9EG 5.92020-03-30
An issue was discovered in Open Source Social Network (OSSN) through 5.3. A user-controlled file path with a weak cryptographic rand() can be used to read any file with the permissions of the webserver. This can lead to further compromise.…
- CVE-2019-19794MEDIUMCVSS 5.9EG 5.92019-12-13
The miekg Go DNS package before 1.1.25, as used in CoreDNS before 1.6.6 and other products, improperly generates random numbers because math/rand is used. The TXID becomes predictable, leading to response forgeries.
- CVE-2018-12885MEDIUMCVSS 5.9EG 5.92018-08-07
The randMod() function of the smart contract implementation for MyCryptoChamp, an Ethereum game, generates a random value with publicly readable variables such as the current block information and a private variable, (which can be read wit…
- CVE-2023-45236MEDIUMCVSS 5.8EG 5.82024-01-16
EDK2's Network Package is susceptible to a predictable TCP Initial Sequence Number. This vulnerability can be exploited by an attacker to gain unauthorized access and potentially lead to a loss of Confidentiality.
- CVE-2024-52322MEDIUMCVSS 5.5EG 5.52025-04-05
WebService::Xero 0.11 and earlier for Perl uses the rand() function as the default source of entropy, which is not cryptographically secure, for cryptographic functions. Specifically WebService::Xero uses the Data::Random library which sp…
- CVE-2024-58036MEDIUMCVSS 5.5EG 5.52025-04-05
Net::Dropbox::API 1.9 and earlier for Perl uses the rand() function as the default source of entropy, which is not cryptographically secure, for cryptographic functions. Specifically Net::Dropbox::API uses the Data::Random library which s…
- CVE-2024-57868MEDIUMCVSS 5.5EG 5.52025-04-05
Web::API 2.8 and earlier for Perl uses the rand() function as the default source of entropy, which is not cryptographically secure, for cryptographic functions. Specifically Web::API uses the Data::Random library which specifically states…
- CVE-2024-57835MEDIUMCVSS 5.5EG 5.52025-04-05
Amon2::Auth::Site::LINE uses the String::Random module to generate nonce values. String::Random defaults to Perl's built-in predictable random number generator, the rand() function, which is not cryptographically secure
- CVE-2009-3278MEDIUMCVSS 5.5EG 5.52009-09-21
The QNAP TS-239 Pro and TS-639 Pro with firmware 2.1.7 0613, 3.1.0 0627, and 3.1.1 0815 use the rand library function to generate a certain recovery key, which makes it easier for local users to determine this key via a brute-force attack.
- CVE-2009-3238MEDIUMCVSS 5.5EG 5.52009-09-18
The get_random_int function in drivers/char/random.c in the Linux kernel before 2.6.30 produces insufficiently random numbers, which allows attackers to predict the return value, and possibly defeat protection mechanisms based on randomiza…
- CVE-2024-56830MEDIUMCVSS 5.4EG 5.42025-01-02
The Net::EasyTCP package 0.15 through 0.26 for Perl uses Perl's builtin rand() if no strong randomization module is present.
- CVE-2002-20002MEDIUMCVSS 5.4EG 5.42025-01-02
The Net::EasyTCP package before 0.15 for Perl always uses Perl's builtin rand(), which is not a strong random number generator, for cryptographic keys.
- CVE-2026-13082MEDIUMCVSS 5.3EG 5.32026-07-17
GD::SecurityImage versions through 1.75 for Perl use rand to generate secrets. The random method creates the challenge text used for the CAPTCHA by sampling characters from an array using Perl's built-in rand function, and generates a (by…
- CVE-2026-9692MEDIUMCVSS 5.3EG 5.32026-06-18
Mojolicious::Sessions::Storable versions through 0.05 for Perl generate session ids insecurely. The default session id generator returns a SHA-1 hash seeded with the built-in rand function, the epoch time, the heap address of an anonymous…
- CVE-2026-6146MEDIUMCVSS 5.3EG 5.32026-05-11
Amazon::Credentials versions through 1.2.0 for Perl uses rand to generate encryption keys. Amazon::Credentials stores credentials in an obfuscated form to prevent access to the secrets from a data dump of the object. Before version 1.3.0…
- CVE-2026-5083MEDIUMCVSS 5.3EG 5.32026-04-08
Ado::Sessions versions through 0.935 for Perl generates insecure session ids. The session id is generated from a SHA-1 hash seeded with the built-in rand function, the epoch time, and the PID. The PID will come from a small set of numbers…
- CVE-2026-5082MEDIUMCVSS 5.3EG 5.32026-04-08
Amon2::Plugin::Web::CSRFDefender versions from 7.00 through 7.03 for Perl generate an insecure session id. The generate_session_id function will attempt to read bytes from the /dev/urandom device, but if that is unavailable then it genera…
- CVE-2024-58135MEDIUMCVSS 5.3EG 5.32025-05-03
Mojolicious versions from 7.28 through 9.45 for Perl will generate weak HMAC session cookie secrets via "mojo generate app" by default. When creating a default app skeleton with the "mojo generate app" tool, a weak secret is written to th…
- CVE-2025-1805MEDIUMCVSS 5.3EG 5.32025-04-02
Crypt::Salt for Perl version 0.01 uses insecure rand() function when generating salts for cryptographic purposes.
- CVE-2024-53702MEDIUMCVSS 5.3EG 5.32024-12-05
Use of cryptographically weak pseudo-random number generator (PRNG) vulnerability in the SonicWall SMA100 SSLVPN backup code generator that, in certain cases, can be predicted by an attacker, potentially exposing the generated secret.
- CVE-2024-38353MEDIUMCVSS 5.3EG 5.32024-07-10
CodiMD allows realtime collaborative markdown notes on all platforms. CodiMD before 2.5.4 is missing authentication and access control vulnerability allowing an unauthenticated attacker to gain unauthorised access to image data uploaded to…
Map vulnerabilities like CWE-338 to your infrastructure
EchelonGraph correlates every CVE — across CWE-338 and 150+ other weakness categories — against the assets you actually run. See blast radius, fix versions, and remediation steps in one graph.
Book a Demo →