CWE-211: Externally-Generated Error Message Containing Sensitive Information
Description
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.
- Abstraction
- BaseA weakness specific enough to point to detection and prevention methods.
- Likelihood of exploit
- Not rated by MITRE
- Status
- Incomplete
Common consequences
- Confidentiality
Read Application Data
Potential mitigations
- System Configuration
Configure the application's environment in a way that prevents errors from being generated. For example, in PHP, disable display_errors.
- ImplementationBuild and CompilationCompilation or Build Hardening
Debugging information should not make its way into a production release.
- ImplementationBuild and CompilationEnvironment Hardening
Debugging information should not make its way into a production release.
- Implementation
Handle exceptions internally and do not display errors containing potentially sensitive information to a user. Create default error pages if necessary.
- Implementation
The best way to prevent this weakness during implementation is to avoid any bugs that could trigger the external error message. This typically happens when the program encounters fatal errors, such as a divide-by-zero. You will not always be able to control the use of error pages, and you might not be using a language that handles exceptions.
Related weaknesses
CAPEC attack patterns that exploit it
CWE 4.20 links no CAPEC attack pattern to this weakness.