CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
Browse cwe for c with official CWE context and Glexia analysis.
Search And Filters
Showing 50 of 857 CWE records · Page 4 of 18.
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
The code transmits data to another actor, but a portion of the data includes sensitive information that should not be accessible to that actor.
When trying to keep information confidential, an attacker can often infer some of the information by using statistics.
The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor.
The product provides different responses to incoming requests in a way that reveals internal state information to an unauthorized actor outside of the intended control sphere.
The product's behaviors indicate important differences that may be observed by unauthorized actors in a way that reveals (1) its internal state or decision process, or (2) differences from other products with equivalent functionality.
The product performs multiple behaviors that are combined to produce a single result, but the individual behaviors are observable separately in a way that allows attackers to reveal internal state or internal decision points.
The product operates in an environment in which its existence or specific identity should not be known, but it behaves differently than other products with equivalent functionality, in a way that is observable to an attacker.
Two separate operations in a product require different amounts of time to complete, in a way that is observable to an actor and reveals security-relevant information about the state of the product, such as whether a particular operation was successful or not.
The product generates an error message that includes sensitive information about its environment, users, or associated data.
The product identifies an error condition and creates its own diagnostic or error messages that contain sensitive information.
The product performs an operation that triggers an external diagnostic or error message that is not directly generated or controlled by the product, such as an error generated by the programming language interpreter that a software application uses. The error can contain sensitive system information.
The product stores, transfers, or shares a resource that contains sensitive information, but it does not properly remove that information before the product makes the resource available to unauthorized actors.
The product's intended functionality exposes information to certain actors in accordance with the developer's security policy, but this information is regarded as sensitive according to the intended security policies of other stakeholders such as the product's administrator, users, or others whose information is being processed.
A process is invoked with sensitive command-line arguments, environment variables, or other elements that can be seen by other processes on the operating system.
The product inserts sensitive information into debugging code, which could expose this information if the debugging code is not disabled in production.
The product stores sensitive data under the web document root with insufficient access control, which might make it accessible to untrusted parties.
The product stores sensitive data under the FTP server root with insufficient access control, which might make it accessible to untrusted parties.
The product does not record, or improperly records, security-relevant information that leads to an incorrect decision or hampers later analysis.
The product truncates the display, recording, or processing of security-relevant information in a way that can obscure the source or nature of an attack.
The product does not record or display information that would be important for identifying the source or nature of an attack, or determining if an action is safe.
The product records security-relevant information according to an alternate name of the affected entity, instead of the canonical name.
The product releases a resource such as memory or a file so that it can be made available for reuse, but it does not clear or "zeroize" the information contained in the resource before the product performs a critical state transition or makes the resource available for reuse by other entities.
The product does not handle or incorrectly handles input that is not syntactically well-formed with respect to the associated specification.
The product does not properly handle when the expected number of values for parameters, fields, or arguments is not provided in input, or if those values are undefined.
The product does not handle or incorrectly handles when a parameter, field, or argument name is specified, but the associated value is missing, i.e. it is empty, blank, or null.
The product does not handle or incorrectly handles when more values are provided than expected.
The product does not handle or incorrectly handles when a value is not defined or supported for the associated parameter, field, or argument name.
The product does not properly handle when the expected number of parameters, fields, or arguments is not provided in input, or if those parameters are undefined.
If too few arguments are sent to a function, the function will still pop the expected number of arguments from the stack. Potentially, a variable number of arguments could be exhausted in a function as well.
The product does not handle or incorrectly handles when the number of parameters, fields, or arguments with the same name exceeds the expected amount.
The product does not handle or incorrectly handles when a particular parameter, field, or argument name is not defined or supported by the product.
The product does not handle or incorrectly handles inputs that are related to complex structures.
The product does not handle or incorrectly handles when a particular structural element is not completely specified.
The product does not properly handle when a particular element is not completely specified.
The product does not handle or incorrectly handles when two or more structural elements should be consistent, but are not.
The product does not handle or incorrectly handles when a particular element is not the expected type, e.g. it expects a digit (0-9) but is provided with a letter (A-Z).
The product calls a function that can never be guaranteed to work safely.
The product uses the chroot() system call to create a jail, but does not change the working directory afterward. This does not prevent access to files outside of the jail.
Using realloc() to resize buffers that store sensitive information can leave the sensitive information exposed to attack, because it is not removed from memory.
An exception is thrown from a function, but it is not caught.
The product performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
The product incorrectly checks a return value from a function, which prevents it from detecting errors or exceptional conditions.
The product stores a password in plaintext within resources such as memory or files.
The 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.
Using an empty string as a password is insecure.
The product contains a hard-coded password, which it uses for its own inbound authentication or for outbound communication to external components.
The product stores a password in a configuration file that might be accessible to actors who do not know the password.
Obscuring a password with a trivial encoding does not protect the password.