Description
The product is released with debugging code still enabled or active.
Potential Impact
Confidentiality, Integrity, Availability, Access Control, Other
Bypass Protection Mechanism, Read Application Data, Gain Privileges or Assume Identity, Varies by Context
Demonstrative Examples
<FORM ACTION="/authenticate_login.cgi"><INPUT TYPE=TEXT name=username><INPUT TYPE=PASSWORD name=password><INPUT TYPE=SUBMIT></FORM>http://TARGET/authenticate_login.cgi?username=...&password=...http://TARGET/authenticate_login.cgi?username=&password=&debug=1Mitigations & Prevention
Remove debug code before deploying the application.
Detection Methods
- Automated Static Analysis High — Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then sea
Real-World CVE Examples
| CVE ID | Description |
|---|---|
| CVE-2024-44092 | smartphone is built for production with debugging code present, allowing local privilege escalation |
| CVE-2024-36475 | network hub contains active debug code, which allows users to execute arbitrary OS commands using a debug function |
| CVE-2024-29075 | Mesh Wi-Fi router has active debug code, allowing attackers to modify device settings |
Related Weaknesses
Taxonomy Mappings
- 7 Pernicious Kingdoms: — Leftover Debug Code
- OWASP Top Ten 2004: A10 — Insecure Configuration Management
- Software Fault Patterns: SFP28 — Unexpected access points
Frequently Asked Questions
What is CWE-489?
CWE-489 (Active Debug Code) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. The product is released with debugging code still enabled or active.
How can CWE-489 be exploited?
Attackers can exploit CWE-489 (Active Debug Code) to bypass protection mechanism, read application data, gain privileges or assume identity, varies by context. This weakness is typically introduced during the Implementation, Implementation, Build and Compilation, Operation phase of software development.
How do I prevent CWE-489?
Key mitigations include: Remove debug code before deploying the application.
What is the severity of CWE-489?
CWE-489 is classified as a Base-level weakness (Medium abstraction). It has been observed in 3 real-world CVEs.