Skip to content
OpenAdvisories

Weakness (CWE)

CWE-330: Use of Insufficiently Random Values

Class Mapping discouraged

The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.

How to prevent it (3 mitigations)
  1. Architecture and Design

    Use a well-vetted algorithm that is currently considered to be strong by experts in the field, and select well-tested implementations with adequate length seeds.

    In general, if a pseudo-random number generator is not advertised as being cryptographically secure, then it is probably a statistical PRNG and should not be used in security-sensitive contexts.

    Pseudo-random number generators can produce predictable numbers if the generator is known and the seed can be guessed. A 256-bit seed is a good starting point for producing a "random enough" number.

  2. Implementation

    Consider a PRNG that re-seeds itself as needed from high quality pseudo-random output sources, such as hardware devices.

  3. Architecture and Design, Requirements

    Use products or modules that conform to FIPS 140-2 [REF-267] to avoid obvious entropy problems. Consult FIPS 140-2 Annex C ("Approved Random Number Generators").

Source: MITRE CWE-330

249 results · Feed

  • Critical 9.8

    Froxlor guessable password reset token

    Froxlor before 0.9.35 uses the PHP rand function for random number generation, which makes it easier for remote attackers to guess the password reset token by predicting a value.

  • High 7.5

    An issue was discovered on the D-Link DWR-932B router. WPS PIN generation is based on srand(time(0)) seeding.

  • Medium 5.9

    OrientDB Server Community Edition uses insufficiently random values to generate session IDs

    server/network/protocol/http/OHttpSessionManager.java in the Studio component in OrientDB Server Community Edition before 2.0.15 and 2.1.x before 2.1.1 improperly relies on the java.util.Random class for generation of random Session ID values, which makes it …

  • Low 3.7

    SimpleGeo python-oauth2 vulnerable to the use of Insufficiently Random Values to generate nonces

    The (1) make_nonce, (2) generate_nonce, and (3) generate_verifier functions in SimpleGeo python-oauth2 uses weak random numbers to generate nonces, which makes it easier for remote attackers to guess the nonce via a brute force attack.

  • Medium —

    Fat Free CRM has fixed token value

    config/initializers/secret_token.rb in Fat Free CRM before 0.12.1 has a fixed FatFreeCRM::Application.config.secret_token value, which makes it easier for remote attackers to spoof signed cookies by referring to the key in the source code.

  • Medium 4.0

    Ansible uses a socket with predictable filename in /tmp

    runner/connection_plugins/ssh.py in Ansible before 1.2.3, when using ControlPersist, allows local users to redirect a ssh session via a symlink attack on a socket file with a predictable name in /tmp/.

  • High 7.3

    dasdec_mkuser on the Digital Alert Systems DASDEC EAS device before 2.0-2 and the Monroe Electronics R189 One-Net EAS d…

  • High 7.5

    pyftpdlib Use of Insufficiently Random Values of port selection on PASV command

    pyftpdlib before 0.1.1 does not choose a random value for the port associated with the PASV command, which makes it easier for remote attackers to obtain potentially sensitive information about the number of in-progress data connections by reading the respons…

  • Medium —

    Jetty Uses Predictable Session Identifiers

    Jetty before 4.2.27, 5.1 before 5.1.12, 6.0 before 6.0.2, and 6.1 before 6.1.0pre3 generates predictable session identifiers using java.util.random, which makes it easier for remote attackers to guess a session identifier through brute force attacks, bypass a…