# 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: Medium 3 languages covered - Impact: Medium Review recommended - Prevention: Documented 5 fix examples **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 Prevention strategies for Error Message Information Leak based on 1 Shoulder detection rules. ### Go Return generic error messages to clients; log detailed errors server-side ## Consequences - Read Application Data - Read Files or Directories ## Mitigations - Handle exceptions internally and do not display errors to the user - Create default error pages for HTTP errors such as 404 and 500 - Implement proper error handling that logs detailed errors server-side but shows generic messages to users ## 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