Vulnerability 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 Score
HIGH
Related Weaknesses (CWE)
References
- https://github.com/skylot/jadx/commit/a74bb07d6eebaf4da5c2b2cbc4d3c0c3cb7517cb
- https://github.com/skylot/jadx/releases/tag/v1.5.6
- https://github.com/skylot/jadx/security/advisories/GHSA-gpvc-ccw7-744v
- https://github.com/skylot/jadx/security/advisories/GHSA-gpvc-ccw7-744v
FAQ
What is CVE-2026-54684?
CVE-2026-54684 is a vulnerability with a CVSS score of 7.0 (HIGH). 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 direc...
How severe is CVE-2026-54684?
CVE-2026-54684 has been rated HIGH with a CVSS base score of 7.0/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-54684?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.