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

1 result · Clear filters · Feed