# Generation of Error Message Containing Sensitive Information (CWE-209) The product generates an error message that includes sensitive information about its environment, users, or associated data. **Stack:** Go - Prevalence: 中 3 言語をカバー - Impact: ミディアム レビュー推奨 - Prevention: 文書化済み 5 件の修正例 **OWASP:** Insecure Design (A04:2021-Insecure Design) - #4 ## Description The sensitive information may be valuable information on its own, or it may be useful for launching other, more serious attacks. The error message may be created in different ways, and the information that is included can range widely. ## Prevention 1 件の Shoulder 検出ルールに基づく Error Message Information Leak の予防策。 ### Go Return generic error messages to clients; log detailed errors server-side ## Consequences - アプリケーションデータの読み取り - ファイルまたはディレクトリの読み取り ## Mitigations - 例外は内部で処理し、ユーザーにエラーを表示しない - 404 や 500 などの HTTP エラー用にデフォルトのエラーページを作成する - サーバー側で詳細なエラーをログに記録し、ユーザーには汎用的なメッセージを表示する適切なエラー処理を実装する ## Detection - Total rules: 5 - Languages: go, javascript, typescript, python ## Rules by Language ### Go (1 rules) - **Database Error Information Exposure in HTTP Response** [MEDIUM]: Internal error messages or stack traces exposed to users in HTTP responses. - Remediation: Return generic error messages to users, log details server-side. ```go if err != nil { log.Printf("internal error: %v", err) // Log details http.Error(w, "An error occurred", 500) // Generic response return } ``` Learn more: https://shoulder.dev/learn/go/cwe-209/error-message-exposure