C#


CSHARP.DEBUG.ID : Exception Information Disclosure (C#)

要旨

Data from an exception ends up in a web page.

Directly exposing error messages to the end user might expose relevant data about the application's configuration, and this could be exploited by an attacker.

Some operations should not be performed in production code, since they have no effect or have unpredictable effects, or since they might compromise the availability or security of your system.

プロパティ

クラス名 Exception Information Disclosure (C#)
日本語クラス名 Exception Information Disclosure (C#)
クラス分類 セキュリティ (security)
ニーモニック CSHARP.DEBUG.ID
カテゴリー
CWE CWE:550 Server-generated Error Message Containing Sensitive Information
対応言語 C# で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Exception Information Disclosure (C#)"

public class WebProcessor {
  public void Page_Load(object source, EventArgs e) 
  {
    try {
        Process(Request);
    } catch (Exception e) {
        Response.Write("An error occurred: " + e.Message); // "Exception Information Disclosure (C#)" warning issued here
    }
  }
}

Directly exposing error messages to the end user might expose relevant data about the application's configuration, and this could be exploited by an attacker. The exception should be logged instead, and the error message displayed to the user should be generic, without real information about what happened coming from the exception.

解決法

Verify if the operation is adequate for production code. Remove it or transform it if that is not the case.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。