Category: Encrypt Data

Draft
Summary

Weaknesses in this category are related to the design and architecture of data confidentiality in a system. Frequently these deal with the use of encryption libraries. The weaknesses in this category could lead to a degradation of the quality data encryption if they are not addressed when designing or implementing a secure architecture.

Membership
IDNameDescription
CWE-256Plaintext Storage of a PasswordThe product stores a password in plaintext within resources such as memory or files.
CWE-257Storing Passwords in a Recoverable FormatThe storage of passwords in a recoverable format makes them subject to password reuse attacks by malicious users. In fact, it should be noted that recoverable encrypted passwords provide no significant benefit over plaintext passwords since they are subject not only to reuse by malicious attackers but also by malicious insiders. If a system administrator can recover a password directly, or use a brute force search on the available information, the administrator can use the password on other accounts.
CWE-260Password in Configuration FileThe product stores a password in a configuration file that might be accessible to actors who do not know the password.
CWE-261Weak Encoding for PasswordObscuring a password with a trivial encoding does not protect the password.
CWE-311Missing Encryption of Sensitive DataThe product does not encrypt sensitive or critical information before storage or transmission.
CWE-312Cleartext Storage of Sensitive InformationThe product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.
CWE-313Cleartext Storage in a File or on DiskThe product stores sensitive information in cleartext in a file, or on disk.
CWE-314Cleartext Storage in the RegistryThe product stores sensitive information in cleartext in the registry.
CWE-315Cleartext Storage of Sensitive Information in a CookieThe product stores sensitive information in cleartext in a cookie.
CWE-316Cleartext Storage of Sensitive Information in MemoryThe product stores sensitive information in cleartext in memory.
CWE-317Cleartext Storage of Sensitive Information in GUIThe product stores sensitive information in cleartext within the GUI.
CWE-318Cleartext Storage of Sensitive Information in ExecutableThe product stores sensitive information in cleartext in an executable.
CWE-319Cleartext Transmission of Sensitive InformationThe product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
CWE-321Use of Hard-coded Cryptographic KeyThe product uses a hard-coded, unchangeable cryptographic key.
CWE-323Reusing a Nonce, Key Pair in EncryptionNonces should be used for the present occasion and only once.
CWE-324Use of a Key Past its Expiration DateThe product uses a cryptographic key or password past its expiration date, which diminishes its safety significantly by increasing the timing window for cracking attacks against that key.
CWE-325Missing Cryptographic StepThe product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm.
CWE-326Inadequate Encryption StrengthThe product stores or transmits sensitive data using an encryption scheme that is theoretically sound, but is not strong enough for the level of protection required.
CWE-327Use of a Broken or Risky Cryptographic AlgorithmThe product uses a broken or risky cryptographic algorithm or protocol.
CWE-328Use of Weak HashThe product uses an algorithm that produces a digest (output value) that does not meet security expectations for a hash function that allows an adversary to reasonably determine the original input (preimage attack), find another input that can produce the same hash (2nd preimage attack), or find multiple inputs that evaluate to the same hash (birthday attack).
CWE-330Use of Insufficiently Random ValuesThe product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.
CWE-331Insufficient EntropyThe product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.
CWE-332Insufficient Entropy in PRNGThe lack of entropy available for, or used by, a Pseudo-Random Number Generator (PRNG) can be a stability and security threat.
CWE-333Improper Handling of Insufficient Entropy in TRNGTrue random number generators (TRNG) generally have a limited source of entropy and therefore can fail or block.
CWE-334Small Space of Random ValuesThe number of possible random values is smaller than needed by the product, making it more susceptible to brute force attacks.
CWE-335Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG)The product uses a Pseudo-Random Number Generator (PRNG) but does not correctly manage seeds.
CWE-336Same Seed in Pseudo-Random Number Generator (PRNG)A Pseudo-Random Number Generator (PRNG) uses the same seed each time the product is initialized.
CWE-337Predictable Seed in Pseudo-Random Number Generator (PRNG)A Pseudo-Random Number Generator (PRNG) is initialized from a predictable seed, such as the process ID or system time.
CWE-338Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.
CWE-339Small Seed Space in PRNGA Pseudo-Random Number Generator (PRNG) uses a relatively small seed space, which makes it more susceptible to brute force attacks.
CWE-347Improper Verification of Cryptographic SignatureThe product does not verify, or incorrectly verifies, the cryptographic signature for data.
CWE-522Insufficiently Protected CredentialsThe product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
CWE-523Unprotected Transport of CredentialsLogin pages do not use adequate measures to protect the user name and password while they are in transit from the client to the server.
CWE-757Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')A protocol or its implementation supports interaction between multiple actors and allows those actors to negotiate which algorithm should be used as a protection mechanism such as encryption or authentication, but it does not select the strongest algorithm that is available to both parties.
CWE-759Use of a One-Way Hash without a SaltThe product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product does not also use a salt as part of the input.
CWE-760Use of a One-Way Hash with a Predictable SaltThe product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product uses a predictable salt as part of the input.
CWE-780Use of RSA Algorithm without OAEPThe product uses the RSA algorithm but does not incorporate Optimal Asymmetric Encryption Padding (OAEP), which might weaken the encryption.
CWE-922Insecure Storage of Sensitive InformationThe product stores sensitive information without properly limiting read or write access by unauthorized actors.
CWE-1008Architectural ConceptsThis view organizes weaknesses according to common architectural security tactics. It is intended to assist architects in identifying potential mistakes that can be made when designing software.
Vulnerability Mapping Notes
Usage: Prohibited
Reasons: Category
Rationale:
This entry is a Category. Using categories for mapping has been discouraged since 2019. Categories are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.
Comment:
See member weaknesses of this category.