Self-generated Error Message Containing Sensitive Information
DraftBase
Structure: Simple
Description
The product identifies an error condition and creates its own diagnostic or error messages that contain sensitive information.
Common Consequences 1
Scope: Confidentiality
Impact: Read Application Data
Potential Mitigations 2
Phase: ImplementationBuild and Compilation
Strategy: Compilation or Build Hardening
Debugging information should not make its way into a production release.
Phase: ImplementationBuild and Compilation
Strategy: Environment Hardening
Debugging information should not make its way into a production release.
Demonstrative Examples 1
The following code uses custom configuration files for each user in the application. It checks to see if the file exists on the system before attempting to open and use the file. If the configuration file does not exist, then an error is generated, and the application exits.
Code Example:
Bad
Perl
perl
avoid CWE-22, CWE-78, others.*
perl
If this code is running on a server, such as a web application, then the person making the request should not know what the full pathname of the configuration directory is. By submitting a username that is not associated with a configuration file, an attacker could get this pathname from the error message. It could then be used to exploit path traversal, symbolic link following, or other problems that may exist elsewhere in the application.
Observed Examples 1
CVE-2005-1745Infoleak of sensitive information in error message (physical access required).