CWE-211
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.
Consequences
Mitigations
Configure the application's environment in a way that prevents errors from being generated. For example, in PHP, disable display_errors.
Debugging information should not make its way into a production release.
Debugging information should not make its way into a production release.
Handle exceptions internally and do not display errors containing potentially sensitive information to a user. Create default error pages if necessary.
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.