CVE-2026-54684 PUBLISHED

jadx: XAPK archive entries with absolute paths can plant drop-in plugins and achieve code execution on the next jadx run

Assigner: GitHub_M
Reserved: 15.06.2026 Published: 14.07.2026 Updated: 15.07.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS Score: 7

Product Status

Vendor skylot
Product jadx
Versions
  • Version >= 1.5.2, < 1.5.6 is affected

References

Problem Types

  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') CWE