Modes Of Introduction
Architecture and Design
Implementation : In many cases, the design originally defines a cryptographically secure random number generator, but is then changed during implementation due to unforeseen constraints.
Applicable Platforms
Technologies
Class: System on Chip (Undetermined)
Common Consequences
Scope |
Impact |
Likelihood |
Confidentiality | Read Application Data | High |
Observed Examples
References |
Description |
| PHP framework uses mt_rand() function (Marsenne Twister) when generating tokens |
Potential Mitigations
Phases : Architecture and Design
A true random number generator should be specified for cryptographic algorithms.
Phases : Implementation
A true random number generator should be implemented for cryptographic algorithms.
Vulnerability Mapping Notes
Justification : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Comment : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Related Attack Patterns
CAPEC-ID |
Attack Pattern Name |
CAPEC-97 |
Cryptanalysis Cryptanalysis is a process of finding weaknesses in cryptographic algorithms and using these weaknesses to decipher the ciphertext without knowing the secret key (instance deduction). Sometimes the weakness is not in the cryptographic algorithm itself, but rather in how it is applied that makes cryptanalysis successful. An attacker may have other goals as well, such as: Total Break (finding the secret key), Global Deduction (finding a functionally equivalent algorithm for encryption and decryption that does not require knowledge of the secret key), Information Deduction (gaining some information about plaintexts or ciphertexts that was not previously known) and Distinguishing Algorithm (the attacker has the ability to distinguish the output of the encryption (ciphertext) from a random permutation of bits). |
NotesNotes
As of CWE 4.5, terminology related to randomness, entropy, and
predictability can vary widely. Within the developer and other
communities, "randomness" is used heavily. However, within
cryptography, "entropy" is distinct, typically implied as a
measurement. There are no commonly-used definitions, even within
standards documents and cryptography papers. Future versions of
CWE will attempt to define these terms and, if necessary,
distinguish between them in ways that are appropriate for
different communities but do not reduce the usability of CWE for
mapping, understanding, or other scenarios.
References
REF-1370
rng_16.v
https://github.com/HACK-EVENT/hackatdac21/blob/main/piton/design/chip/tile/ariane/src/rand_num/rng_16.v#L12-L22
Submission
Name |
Organization |
Date |
Date release |
Version |
Arun Kanuparthi, Hareesh Khattri, Parbati Kumar Manna, Narasimha Kumar V Mangipudi |
Intel Corporation |
2020-02-10 +00:00 |
2020-02-24 +00:00 |
4.0 |
Modifications
Name |
Organization |
Date |
Comment |
CWE Content Team |
MITRE |
2020-06-25 +00:00 |
updated Common_Consequences, Demonstrative_Examples, Modes_of_Introduction |
CWE Content Team |
MITRE |
2020-08-20 +00:00 |
updated Common_Consequences, Demonstrative_Examples, Description, Maintenance_Notes, Modes_of_Introduction, Potential_Mitigations, Related_Attack_Patterns, Research_Gaps |
CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Maintenance_Notes, Research_Gaps |
CWE Content Team |
MITRE |
2021-07-20 +00:00 |
updated Maintenance_Notes |
CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Relationships |
CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
CWE Content Team |
MITRE |
2023-10-26 +00:00 |
updated Demonstrative_Examples, Description, Observed_Examples, References |
CWE Content Team |
MITRE |
2025-04-03 +00:00 |
updated Demonstrative_Examples |