CVE-2026-54684

Source
https://cve.org/CVERecord?id=CVE-2026-54684
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54684.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54684
Aliases
  • GHSA-gpvc-ccw7-744v
Published
2026-07-14T21:46:29Z
Modified
2026-10-28T11:14:41Z
Severity
  • 7.0 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
Summary
jadx: XAPK archive entries with absolute paths can plant drop-in plugins and achieve code execution on the next jadx run
Details

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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-22"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54684.json"
}
References

Affected packages

Git / github.com/skylot/jadx

Affected ranges

Type
GIT
Repo
https://github.com/skylot/jadx
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "1.5.2"
                },
                {
                    "fixed": "1.5.6"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "fixed": "a74bb07d6eebaf4da5c2b2cbc4d3c0c3cb7517cb"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "original_tag": "v1.5.6",
            "range": [
                {
                    "fixed": "28ff15e4ae69950aebea110a13e5ab895d234dfc"
                }
            ],
            "source": "REFERENCES_TAG"
        }
    ]
}

Affected versions

v1.*
v1.5.2
v1.5.3
v1.5.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54684.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "118014642406769659103776073437968672592",
                "265775248268315719426659794105053302902",
                "172973484744477447613924586852770070408",
                "26135232408086617525104654092153467177"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54684-7f5b5235",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/skylot/jadx/commit/a74bb07d6eebaf4da5c2b2cbc4d3c0c3cb7517cb",
        "target": {
            "file": "jadx-commons/jadx-zip/src/main/java/jadx/zip/security/JadxZipSecurity.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "58550663106364603330380777435195939371",
            "length": 603
        },
        "id": "CVE-2026-54684-da5fee61",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/skylot/jadx/commit/a74bb07d6eebaf4da5c2b2cbc4d3c0c3cb7517cb",
        "target": {
            "file": "jadx-commons/jadx-zip/src/main/java/jadx/zip/security/JadxZipSecurity.java",
            "function": "isValidEntryName"
        }
    }
]
vanir_signatures_modified
"2026-10-28T11:14:41Z"