CWE-332: Insufficient Entropy in PRNG

VariantDraftExploit Likelihood: Medium

The lack of entropy available for, or used by, a Pseudo-Random Number Generator (PRNG) can be a stability and security threat.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple

Applicable To

Languages
Not Language-Specific
Platforms

Frequently Asked Questions

What is CWE-332: Insufficient Entropy in PRNG?+

CWE-332: Insufficient Entropy in PRNG is a Common Weakness Enumeration (CWE) entry maintained by MITRE. The lack of entropy available for, or used by, a Pseudo-Random Number Generator (PRNG) can be a stability and security threat.

What are the security consequences of Insufficient Entropy in PRNG?+

If exploited, CWE-332 (Insufficient Entropy in PRNG) it can compromise Availability, Access Control and Other, leading to outcomes such as DoS: Crash, Exit, or Restart, Bypass Protection Mechanism and Other.

How do you prevent or mitigate Insufficient Entropy in PRNG?+

Recommended mitigations for CWE-332 include: Consider a PRNG that re-seeds itself as needed from high-quality pseudo-random output, such as hardware devices. When deciding which PRNG to use, look at its sources of entropy. Depending on what your security needs are, you may need to use a random number generator that always uses strong random data -- i.e., a random number generator that attempts to be strong but will fail in a weak way or will always provide some middle ground of protection through techniques like re-seeding. Generally, something that always provides a predictable amount of strength is preferable.

Which programming languages are affected by Insufficient Entropy in PRNG?+

CWE-332 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Insufficient Entropy in PRNG?+

MITRE documents real CVEs mapped to CWE-332, including [REF-1374] and CVE-2019-1715. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-332 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More