2029
Example Language: (Bad)
Suppose an Encryption algorithm needs a random value for a key. Instead of using a DRNG (Deterministic Random Number
Generator), the designer uses a linear-feedback shift register (LFSR) to generate the value.
While an LFSR may provide pseudo-random number generation service, the entropy (measure of
randomness) of the resulting output may be less than that of an accepted DRNG (like that used in
dev/urandom). Thus, using an LFSR weakens the strength of the cryptographic system, because it
may be possible for an attacker to guess the LFSR output and subsequently the encryption key.
Example Language: (Good)
If a cryptographic algorithm expects a random number as its input, provide one. Do not provide a pseudo-random value.
Observed Examples
Reference Description
CVE-2020-4778 software uses MD5, which is less safe than the default SHA-256 used by
related products
https://www.cve.org/CVERecord?id=CVE-2020-4778
CVE-2005-2946 Default configuration of product uses MD5 instead of stronger algorithms that
are available, simplifying forgery of certificates.
https://www.cve.org/CVERecord?id=CVE-2005-2946
CVE-2019-3907 identity card uses MD5 hash of a salt and password
https://www.cve.org/CVERecord?id=CVE-2019-3907
CVE-2021-34687 personal key is transmitted over the network using a substitution cipher
https://www.cve.org/CVERecord?id=CVE-2021-34687
CVE-2020-14254 product does not disable TLS-RSA cipher suites, allowing decryption of traffic if
TLS 2.0 and secure ciphers are not enabled.
https://www.cve.org/CVERecord?id=CVE-2020-14254
CVE-2019-1543 SSL/TLS library generates 16-byte nonces but reduces them to 12 byte
nonces for the ChaCha20-Poly1305 cipher, converting them in a way that
violates the cipher's requirements for unique nonces.
https://www.cve.org/CVERecord?id=CVE-2019-1543
CVE-2017-9267 LDAP interface allows use of weak ciphers
https://www.cve.org/CVERecord?id=CVE-2017-9267
CVE-2017-7971 SCADA product allows "use of outdated cipher suites"
https://www.cve.org/CVERecord?id=CVE-2017-7971
CVE-2020-6616 Chip implementing Bluetooth uses a low-entropy PRNG instead of a hardware
RNG, allowing spoofing.
https://www.cve.org/CVERecord?id=CVE-2020-6616
CVE-2019-1715 security product has insufficient entropy in the DRBG, allowing collisions and
private key discovery
https://www.cve.org/CVERecord?id=CVE-2019-1715
CVE-2014-4192 Dual_EC_DRBG implementation in RSA toolkit does not correctly handle
certain byte requests, simplifying plaintext recovery
https://www.cve.org/CVERecord?id=CVE-2014-4192
CVE-2007-6755 Recommendation for Dual_EC_DRBG algorithm contains point Q constants
that could simplify decryption
https://www.cve.org/CVERecord?id=CVE-2007-6755
MemberOf Relationships
This MemberOf relationships table shows additional CWE Catgeories and Views that reference this
weakness as a member. This information is often useful in understanding where a weakness fits
within the context of external information sources.
CWE Version 4.14
CWE-1241: Use of Predictable Algorithm in Random Number Generator
CWE-1241: Use of Predictable Algorithm in Random Number Generator