Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
CWE-335
The product uses a Pseudo-Random Number Generator (PRNG) but does not correctly manage seeds.
PRNGs are deterministic and, while their output appears random, they cannot actually create entropy. They rely on cryptographically secure and unique seeds for entropy so proper seeding is critical to the secure operation of the PRNG. Management of seeds could be broken down into two main areas: (1) protecting seeds as cryptographic material (such as a cryptographic key); (2) whenever possible, using a uniquely generated seed from a cryptographically secure source PRNGs require a seed as input to generate a stream of numbers that are functionally indistinguishable from random numbers. While the output is, in many cases, sufficient for cryptographic uses, the output of any PRNG is directly determined by the seed provided as input. If the seed can be ascertained by a third party, the entire output of the PRNG can be made known to them. As such, the seed should be kept secret and should ideally not be able to be guessed. For example, the current time may be a poor seed. Knowing the approximate time the PRNG was seeded greatly reduces the possible key space. Seeds do not necessarily need to be unique, but reusing seeds may open up attacks if the seed is discovered.
We track 16 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.1.
Latest Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG) vulnerabilities
- 7.3 High severity
botan: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Botan is a C++ cryptography library. From 3.7.0 until 3.13.0, an application that calls AutoSeeded_RNG::clear() and then calls randomize with an empty output buffer while the generator is unseeded can cause AutoSeeded_RNG to mark itself seeded without consulti
- 7.5 High severity
Bytes::Random::Secure::Tiny: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Bytes::Random::Secure::Tiny versions through 1.011 for Perl share internal state across forked processes. When an object is initialised before forking, then the internal state for the PRNG is shared across processes and identical random streams will be produce
- 7.5 High severity
Bytes::Random::Secure: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Bytes::Random::Secure versions through 0.29 for Perl share internal state across forked processes. When an object is initialised before forking, or when the functional interface is used, then the internal state for the PRNG is shared across processes and ident
- 7.5 High severity
CryptX: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after forking. The Crypt::PK::RSA, Crypt::PK::DSA, Crypt::PK::DH, Crypt::PK::ECC, Crypt::PK::Ed25519 and Crypt::PK::X25519 modules seed a per-object PRNG state in their constructors a
- 7.5 High severity
BRICS: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
NIH BRICS (aka Biomedical Research Informatics Computing System) through 14.0.0-67 generates predictable tokens (that depend on username, time, and the fixed 7Dl9#dj- string) and thus allows unauthenticated users with a Common Access Card (CAC) to escalate pri
- 7.5 High severity
Apache Cocoon: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
** UNSUPPORTED WHEN ASSIGNED ** Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG) vulnerability in Apache Cocoon. This issue affects Apache Cocoon: all versions. When a continuation is created, it gets a random identifier. Because the random nu
- 8.0 High severity
Juju: Use of Insufficiently Random Values
JUJU_CONTEXT_ID is a predictable authentication secret. On a Juju machine (non-Kubernetes) or Juju charm container (on Kubernetes), an unprivileged user in the same network namespace can connect to an abstract domain socket and guess the JUJU_CONTEXT_ID value.
- 9.8 Critical severity
qt_network_authorization: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
QAbstractOAuth in Qt Network Authorization in Qt before 5.15.17, 6.x before 6.2.13, 6.3.x through 6.5.x before 6.5.6, and 6.6.x through 6.7.x before 6.7.1 uses only the time to seed the PRNG, which may result in guessable values.
- 8.1 High severity
GateManager: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG) vulnerability in Secomea GateManager (Webserver modules) allows Session Hijacking.This issue affects GateManager: before 11.2.624071020.
- 9.8 Critical severity
Opinio: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Objectplanet Opinio version 7.22 and prior uses a cryptographically weak pseudo-random number generator (PRNG) coupled to a predictable seed, which could lead to an unauthenticated account takeover of any user on the application.
- 7.8 High severity
Budgie Extras: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Temporary data passed between application components by Budgie Extras Dropby applet could potentially be viewed or manipulated. The data is stored in a location that is accessible to any user who has local access to the system. Attackers may pre-create and con
- 9.1 Critical severity
MELSEC iQ-F Series FX5U-32MT/ES: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Predictable Seed in Pseudo-Random Number Generator (PRNG) vulnerability in Mitsubishi Electric Corporation MELSEC iQ-F Series FX5U-xMy/z (x=32,64,80, y=T,R, z=ES,DS,ESS,DSS) with serial number 17X**** or later, and versions 1.280 and prior, Mitsubishi Electric
- 7.5 High severity
rabbitmq-server: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
RabbitMQ is a multi-protocol messaging and streaming broker. In affected versions the shovel and federation plugins perform URI obfuscation in their worker (link) state. The encryption key used to encrypt the URI was seeded with a predictable secret. This mean
- 7.5 High severity
js-compute-runtime: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
The JS Compute Runtime for Fastly's Compute@Edge platform provides the environment JavaScript is executed in when using the Compute@Edge JavaScript SDK. In versions prior to 0.5.3, the `Math.random` and `crypto.getRandomValues` methods fail to use sufficiently
- 8.1 High severity
argo-cd: Insufficient Entropy
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. All versions of Argo CD starting with v0.11.0 are vulnerable to a variety of attacks when an SSO login is initiated from the Argo CD CLI or UI. The vulnerabilities are due to the use of
- 9.8 Critical severity
PowerScale OneFS: Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)
Dell PowerScale OneFS, versions 8.2.x-9.3.x, contain a predictable seed in pseudo-random number generator. A remote unauthenticated attacker could potentially exploit this vulnerability, leading to an account compromise.