515
Detection Methods
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST),
can find some instances of this weakness by analyzing source code (or binary/compiled code)
without having to execute it. Typically, this is done by building a model of data flow and control
flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input)
with "sinks" (destinations where the data interacts with external components, a lower layer such
as the OS, etc.)
Effectiveness = High
Potential Mitigations
Phase: Requirements
Specify which data in the software should be regarded as sensitive. Consider which types of
users should have access to which types of data.
Phase: Implementation
Ensure that any possibly sensitive data specified in the requirements is verified with designers
to ensure that it is either a calculated risk or mitigated elsewhere. Any information that is not
necessary to the functionality should be removed in order to lower both the overhead and the
possibility of security sensitive data being sent.
Phase: System Configuration
Setup default error messages so that unexpected errors do not disclose sensitive information.
Phase: Architecture and Design
Strategy = Separation of Privilege
Compartmentalize the system to have "safe" areas where trust boundaries can be
unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always
be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate
compartmentalization is built into the system design, and the compartmentalization allows for and
reinforces privilege separation functionality. Architects and designers should rely on the principle
of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Demonstrative Examples
Example 1:
The following is an actual MySQL error statement:
Example Language: SQL (Result)
Warning: mysql_pconnect(): Access denied for user: 'root@localhost' (Using password: N1nj4) in /usr/local/www/wi-data/
includes/database.inc on line 4
The error clearly exposes the database credentials.
Observed Examples
Reference Description
CVE-2022-0708 Collaboration platform does not clear team emails in a response, allowing leak
of email addresses
https://www.cve.org/CVERecord?id=CVE-2022-0708
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-202: Exposure of Sensitive Information Through Data Queries
CWE-202: Exposure of Sensitive Information Through Data Queries