COMMON WEAKNESS ENUMERATIONIncomplete

CWE-211

Externally-Generated Error Message Containing 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.

Soyutlama

Base

Yapı

Simple

Sömürü İhtimali

Medium

Problemi anla

Problem nedir?

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.

Kök neden

Problem nasıl ve ne zaman oluşur?

Yaşam döngüsü evresi

Architecture and Design

PHP applications are often targeted for having this issue when the PHP interpreter generates the error outside of the application's control. However, other languages/environments exhibit the same issue.

Yaşam döngüsü evresi

Implementation

REALIZATION: This weakness is caused during implementation of an architectural security tactic.

Yaşam döngüsü evresi

Operation

Risk

Başarılı sömürü neye yol açar?

Read Application Data

Etkilenen güvenlik alanları: Confidentiality

Savunma

Nasıl önlenir ve çözülür?

System Configuration

Güvenli yapılandırma yaklaşımı

Detay
Configure the application's environment in a way that prevents errors from being generated. For example, in PHP, disable display_errors.

Implementation · Build and Compilation

Compilation or Build Hardening

Detay
Debugging information should not make its way into a production release.

Implementation · Build and Compilation

Environment Hardening

Detay
Debugging information should not make its way into a production release.

Implementation

Uygulama aşaması savunması

Detay
Handle exceptions internally and do not display errors containing potentially sensitive information to a user. Create default error pages if necessary.

Implementation

Uygulama aşaması savunması

Detay
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.