Skip to main content

Security controls bypass or absence - Debug Protection


Debug controls protection do not span the wide variety of use models from internal hardware debug through debug of performance issues of software running. The application is deployed to unauthorized actors with debugging code still enabled or active.


  • Create unintended entry points or expose sensitive information.
  • Start a successful remote debugging session and is likely to disclose confidential information about the web application and supporting infrastructure.


  • Assign debug programs user right only to administrators or trusted users to reduce the risk of this potential vulnerability.
  • Remove debug code before deploying the application.


An attacker access to the application and can debug it, will be able to get sensitive information stored in a device.

Expected Remediation Time

⌚ 450 minutes.


Default score using CVSS 3.1. It may change depending on the context of the vulnerability.


  • Attack vector: N
  • Attack complexity: L
  • Privileges required: N
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: N
  • Availability: N


  • Exploit code madurity: X
  • Remediation level: X
  • Report confidence: X


  • Vector string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:X/RL:X/RC:X
  • Score:
    • Base: 5.3
    • Temporal: 5.3
  • Severity:
    • Base: Medium
    • Temporal: Medium

Code Examples

Compliant code

There are no debugging functions present in the source code

public class myClass {
public static void main(String[] args) {
try {
//Code to do something
} catch (Exception e) {
//Handle exception

Non compliant code

Debug functions like printStackTrace are present in production code

public class myClass {
public static void main(String[] args) {
try {
//Code to do something
} catch (Exception e) {