CVE-2017-20227
Received Received - Intake
Stack-Based Buffer Overflow in JAD Java Decompiler Allows Code Execution

Publication date: 2026-03-28

Last updated on: 2026-04-08

Assigner: VulnCheck

Description
JAD Java Decompiler 1.5.8e-1kali1 and prior contains a stack-based buffer overflow vulnerability that allows attackers to execute arbitrary code by supplying overly long input that exceeds buffer boundaries. Attackers can craft malicious input passed to the jad command to overflow the stack and execute a return-oriented programming chain that spawns a shell.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-28
Last Modified
2026-04-08
Generated
2026-05-07
AI Q&A
2026-03-28
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
varaneckas jad_java_decompiler 1.5.8e-1kali1
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2017-20227 is a critical stack-based buffer overflow vulnerability in JAD Java Decompiler versions up to 1.5.8e-1kali1. It occurs when the program processes overly long input that exceeds the buffer boundaries on the stack.

An attacker can exploit this flaw by crafting malicious input passed to the jad command, causing the stack to overflow. This overflow allows the attacker to execute arbitrary code by using a return-oriented programming (ROP) chain.

The ROP chain is designed to write the string "/bin//sh" into writable memory and then execute a shell, effectively giving the attacker control over the affected system.

Several common security mitigations such as CANARY, FORTIFY, PIE, and RELRO are disabled in the vulnerable binary, although NX (No-eXecute) is enabled.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The CVE-2017-20227 vulnerability allows attackers to execute arbitrary code and gain control over the affected system by exploiting a stack-based buffer overflow in JAD Java Decompiler. This can lead to unauthorized access, data breaches, and potential manipulation or destruction of sensitive data.

Such unauthorized access and potential data compromise can negatively impact compliance with common standards and regulations like GDPR and HIPAA, which require protection of confidentiality, integrity, and availability of sensitive data.

Because the vulnerability enables high impact on confidentiality, integrity, and availability (as indicated by its CVSS scores), organizations using affected versions of JAD may face increased risk of non-compliance if the vulnerability is exploited.


How can this vulnerability impact me? :

This vulnerability can have severe impacts as it allows remote attackers to execute arbitrary code on the affected system without any privileges or user interaction.

Successful exploitation can spawn a shell, granting the attacker full control over the system running the vulnerable JAD binary.

Failed exploitation attempts can cause denial-of-service (DoS) conditions, potentially disrupting normal operations.

The vulnerability has a high severity score (CVSS v3.1 base score 9.8), indicating a critical risk to confidentiality, integrity, and availability.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking if the vulnerable 'jad' binary version 1.5.8e-1kali1 or prior is present on your system.

Since the exploit involves passing overly long input to the 'jad' command, you can test the presence of the vulnerability by running the 'jad' command with a crafted long input string to see if it crashes or behaves unexpectedly.

  • Run `jad $(python3 -c 'print("A"*1000)')` to test if the program crashes or exhibits abnormal behavior indicating a buffer overflow.
  • Check the version of the 'jad' binary with `jad -version` or `jad --version` to confirm if it is version 1.5.8e-1kali1 or earlier.

Note that failed exploitation attempts can cause denial-of-service conditions, so testing should be done carefully in a controlled environment.


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include removing or disabling the vulnerable 'jad' binary version 1.5.8e-1kali1 or earlier from your system.

Avoid running the 'jad' command with untrusted or excessively long input that could trigger the buffer overflow.

If possible, update to a patched or newer version of the JAD Java Decompiler that addresses this vulnerability.

Restrict access to systems running the vulnerable 'jad' binary to trusted users only, and monitor for any unusual activity that might indicate exploitation attempts.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart