CVE-2026-54684
Deferred Deferred - Pending Action

Arbitrary File Write in jadx via Malicious XAPK File

Vulnerability report for CVE-2026-54684, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-14

Last updated on: 2026-07-15

Assigner: GitHub, Inc.

Description

jadx is a Dex to Java decompiler. From 1.5.2 to 1.5.5, a malicious .xapk file can cause jadx to write attacker-controlled archive entry contents outside the intended XAPK plugin temporary unpack directory because XApkLoader resolves each entry name directly with tmpDir.resolve(fileName) after a CWD-based ZIP security check. When jadx is launched from a directory that is an ancestor of the config directory, the arbitrary write can plant a JAR in plugins/dropins, and the next jadx run loads the JAR with URLClassLoader and ServiceLoader, executing attacker-controlled plugin code. This issue is fixed in version 1.5.6.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-14
Last Modified
2026-07-15
Generated
2026-08-04
AI Q&A
2026-07-15
EPSS Evaluated
2026-08-02
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
skylot jadx From 1.5.6|start_including=1.5.2 (exc) to 1.5.6 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

jadx versions 1.5.2 to 1.5.5 have a vulnerability where a malicious .xapk file can cause jadx to write files outside the intended temporary directory. This happens because the XApkLoader resolves entry names directly with tmpDir.resolve(fileName) after a ZIP security check. If jadx is run from a directory that is an ancestor of the config directory, the attacker can write a JAR file to plugins/dropins, which will be loaded and executed in the next jadx run.

Detection Guidance

Check if jadx version is between 1.5.2 and 1.5.5. Inspect temporary XAPK plugin directories for unexpected files. Verify plugins/dropins directory for unauthorized JARs. Monitor for unusual class loading or plugin execution.

Impact Analysis

An attacker could exploit this to execute arbitrary code on your system. If you use jadx to decompile malicious .xapk files, the attacker could gain control of your system or steal sensitive data. The vulnerability allows full compromise of the jadx application and potentially your machine.

Compliance Impact

This vulnerability could lead to unauthorized code execution, potentially causing data breaches or loss of sensitive information. Such incidents may violate GDPR or HIPAA requirements for data protection and could result in regulatory penalties or legal consequences.

Mitigation Strategies

Upgrade jadx to version 1.5.6 or later to address the arbitrary file write vulnerability in XAPK handling.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54684. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart