Skip to content
OpenAdvisories

Weakness (CWE)

CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

Base Draft

The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.

More detail

When a non-cryptographic PRNG is used in a cryptographic context, it can expose the cryptography to certain types of attacks.

Often a pseudo-random number generator (PRNG) is not designed for cryptography. Sometimes a mediocre source of randomness is sufficient or preferable for algorithms that use random numbers. Weak generators generally take less processing power and/or do not use the precious, finite, entropy sources on a system. While such PRNGs might have very useful features, these same features could be used to break the cryptography.

How to prevent it (1 mitigation)
  1. Implementation

    Use functions or hardware which use a hardware-based random number generation for all crypto. This is the recommended solution. Use CyptGenRandom on Windows, or hw_rand() on Linux.

Source: MITRE CWE-338

188 results · Feed

  • Critical 9.8

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) in the SonicOS SSLVPN authentication token generato…

  • Medium 6.3

    Guzzle OAuth Subscriber has insufficient nonce entropy

    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 TLS is not used. This …

  • Medium 5.3

    In Net::OAuth::Client in the Net::OAuth package before 0.29 for Perl, the default nonce is a 32-bit integer generated f…

  • Medium 5.4

    The Net::EasyTCP package 0.15 through 0.26 for Perl uses Perl's builtin rand() if no strong randomization module is pre…

  • Medium 5.4

    The Net::EasyTCP package before 0.15 for Perl always uses Perl's builtin rand(), which is not a strong random number ge…

  • High 7.5

    The Crypt::Random::Source package before 0.13 for Perl has a fallback to the built-in rand() function, which is not a s…

  • Medium 5.3

    Use of cryptographically weak pseudo-random number generator (PRNG) vulnerability in the SonicWall SMA100 SSLVPN backup…

  • Medium 6.5

    goTenna Pro ATAK Plugin Use of Cryptographically Weak Pseudo-Random Number Generator

    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 captured over RF. This o…

  • Medium 6.5

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) in goTenna Pro

    The goTenna Pro App 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 captured over RF. This only appl…

  • Medium 5.9

    tgt (aka Linux target framework) before 1.0.93 attempts to achieve entropy by calling rand without srand. The PRNG seed…

  • Low 1.9

    Generation of weak and predictable Initialization Vector (IV) in PMFW (Power Management Firmware) may allow an attacker…

  • Medium 5.3
    CVE-2024-38353 Scanner template

    CodiMD - Missing Image Access Controls and Unauthorized Image Access

    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 CodiMD. CodiMD does…

  • Critical 9.1
    CVE-2024-29868 Public exploit Scanner template

    Apache StreamPipes, Apache StreamPipes: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) in Recovery Token Generation

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) vulnerability in Apache StreamPipes user self-registration and password recovery mechanism. This allows an attacker to guess the recovery token in a reasonable time and thereby to take over t…

  • Medium 6.0

    Bludit - Insecure Token Generation

    Bludit uses predictable methods in combination with the MD5 hashing algorithm to generate sensitive tokens such as the API token and the user token. This allows attackers to authenticate against the Bludit API.

  • Medium 5.3

    stormpath/sdk uses Insecure Random Number Generator

    The vulnerability pertains to the usage of an insecure random number generator (RNG) in the "stormpath-sdk-php" library. Specifically, the issue is present in the generation of UUID (Universally Unique Identifier) version 4 within the codebase.

  • Medium 5.9

    Network Key Transfer with AES KHT vulnerability in Luna EFT

    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

  • Medium 5.9

    An HTTP digest authentication nonce value was generated using `rand()` which could lead to predictable values. This vul…

  • High 7.5

    Mateso PasswordSafe through 8.13.9.26689 has Weak Cryptography.

  • Medium 5.3

    An issue ingalxe.com Galxe platform 1.0 allows a remote attacker to obtain sensitive information via the Web3 authentic…

  • Medium 5.9
    CVE-2024-31497 Public exploit

    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…

  • High 7.5

    RT-Thread through 5.0.2 generates random numbers with a weak algorithm of "seed = 214013L * seed + 2531011L; return (se…

  • High 7.5

    The Binance Trust Wallet app for iOS in commit 3cd6e8f647fbba8b5d8844fcd144365a086b629f, git tag 0.0.4 misuses the trez…

  • Medium 5.3

    Use of a Weak PseudoRandom Number Generator in EDK II Network Package

    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.

  • High 8.2

    Cryptographically Weak Generation of One-Time Codes for Identity Verification in ethyca-fides

    Fides is an open-source privacy engineering platform for managing the fulfillment of data privacy requests in a runtime environment, and the enforcement of privacy regulations in code. The Fides Privacy Center allows data subject users to submit privacy and c…

  • High 8.8

    Weak PRNG entropy source used for authentication challenge generation in Motorola MTM5000

    The Motorola MTM5000 series firmwares generate TETRA authentication challenges using a PRNG using a tick count register as its sole entropy source. Low boottime entropy and limited re-seeding of the pool renders the authentication challenge vulnerable to two …

  • Low 2.4

    A flawed pseudorandom number generator in Dominion Voting Systems ImageCast Precinct (ICP and ICP2) and ImageCast Evolu…

  • Medium 5.9

    An issue was discovered in Progress DataDirect Connect for ODBC before 08.02.2770 for Oracle. When using Oracle Advance…

  • Medium 6.8

    Landscape insecure token generation

    Landscape cryptographic keys were insecurely generated with a weak pseudo-random generator.

  • Critical 9.8

    Insecure Randomness in CBOT's Chatbot

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG), Use of Insufficiently Random Values vulnerability in CBOT Chatbot allows Signature Spoofing by Key Recreation. This issue affects Chatbot: before Core: v4.0.3.4 Panel: v4.0.3.7.

  • Medium 5.9
    CVE-2023-31290 Public exploit

    Trust Wallet Core before 3.1.1, as used in the Trust Wallet browser extension before 0.0.183, allows theft of funds bec…

  • Low 3.5

    Insecure randomness for default password in nextcloud

    Nextcloud server is an open source home cloud implementation. In affected versions the generated fallback password when creating a share was using a weak complexity random number generator, so when the sharer did not change it the password could be guessable …

  • High 8.1

    Use of Cryptographically Weak Pseudo-Random Number Generator in Onedev

    Onedev is a self-hosted Git Server with CI/CD and Kanban. In versions prior to 7.9.12 the algorithm used to generate access token and password reset keys was not cryptographically secure. Existing normal users (or everyone if it allows self-registration) may …

  • High 8.8
    CVE-2022-45782 Public exploit

    An issue was discovered in dotCMS core 5.3.8.5 through 5.3.8.15 and 21.03 through 22.10.1. A cryptographically insecure…

  • Medium 5.9

    Use of insecure random number generator in Passeo

    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 reliance on a non-cryptog…

  • Critical 9.1

    A weak randomness in WebCrypto keygen vulnerability exists in Node.js 18 due to a change with EntropySource() in Secret…

  • Critical 9.8

    An issue was discovered in Object First Ootbi BETA build 1.0.7.712. The authorization service has a flow that allows ge…

  • Medium 5.2

    SAP Customer Data Cloud (Gigya mobile app for Android) - version 7.4, uses insecure random number generator program whi…

  • Critical 9.0

    Account takeover via cryptographically weak PRNG in NodeBB Forum

    NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. `utils.generateUUID`, a helper function available in essentially all versio…

  • High 7.4

    Cisco IP Phone Duplicate Key Vulnerability

    A vulnerability in Cisco Unified IP Phones could allow an unauthenticated, remote attacker to impersonate another user's phone if the Cisco Unified Communications Manager (CUCM) is in secure mode. This vulnerability is due to improper key generation during th…

  • Medium 6.5

    Weak private key generation in SSH.NET

    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 number generator, it mus…