CWE-497: Exposure of Sensitive System Information to an Unauthorized Control Sphere
The product does not properly prevent sensitive system-level information from being accessed by unauthorized actors who do not have the same level of access to the underlying system as the product does.
Network-based products, such as web applications, often run on top of an operating system or similar environment. When the product communicates with outside parties, details about the underlying system are expected to remain hidden, such as path names for data files, other OS users, installed packages, the application environment, etc. This system information may be provided by the product itself, or buried within diagnostic or debugging messages. Debugging information helps an adversary learn about the system and form an attack plan. An information exposure occurs when system data or debugging information leaves the program through an output stream or logging function that makes it accessible to unauthorized parties. Using other weaknesses, an attacker could cause errors to occur; the response to these errors can reveal detailed system information, along with other impacts. An attacker can use messages that reveal technologies, operating systems, and product versions to tune the attack against known vulnerabilities in these technologies. A product may use diagnostic methods that provide significant implementation details such as stack traces as part of its error handling mechanism.
Consequences
- Confidentiality: Read Application Data
How to prevent it
- Architecture and Design, Implementation: Production applications should never use methods that generate internal details such as stack traces and error messages unless that information is directly committed to a log that is not viewable by the end user. All error message text should be HTML entity encoded before being written to the log file to protect against potential cross-site scripting attacks against the viewer of the logs
Recent advisories
- GHSA-x6m4-chr9-cg97 — vm2 leaks absolute host filesystem paths to sandbox code via error stack formatting
- GHSA-rf2p-vh74-7vvh — Kirby: System path exposure from error messages in the REST API
- GHSA-2f7j-rp58-mr42 — OpenClaw: Gateway hello snapshots exposed host config and state paths to non-admin clients
- GHSA-hr8g-2q7x-3f4w — OpenClaw Has a Gateway Control Interface Information Disclosure Vulnerability
- GHSA-mmgg-m5j7-f83h — n8n has Arbitrary File Read via Python Code Node Sandbox Escape
- GHSA-jhx5-4vr4-f327 — Gitea inadvertently discloses users' login times by allowing (for example) the lastlogintime explore/users sort order
- GHSA-w37m-7fhw-fmv9 — Next Server Actions Source Code Exposure
- GHSA-f4cf-9rvr-2rcx — Zitadel Discloses the Total Number of Instance Users
- GHSA-48q3-prgv-gm4w — Parse Server exposes the data schema via GraphQL API
- GHSA-pgvc-6h2p-q4f6 — Umbraco CMS disclosure of configured password requirements
- GO-2025-3622 — Mattermost doesn't restrict domains LLM can request to contact upstream
- GHSA-56w4-5538-8v8h — Synapse Matrix has a partial room state leak via Sliding Sync
- GHSA-mg8j-w93w-xjgc — Drupal Full Path Disclosure
- GHSA-53q7-4874-24qg — Information Disclosure Vulnerability in Privacy Center of SERVER_SIDE_FIDES_API_URL
- CVE-2021-31955 — Windows Kernel Information Disclosure Vulnerability
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor