Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attacker supplies a local malicious APK (AV:L) and the analyst must open/build the exported project (UI:R); no privileges needed (PR:N), and injected Groovy yields full C/I/A compromise of the analyst host.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
jadx is a Dex to Java decompiler. Prior to 1.5.6, jadx inserts the android:versionName value from an AndroidManifest into the generated app/build.gradle Groovy template without proper sanitization when exporting a decompiled APK as an Android Gradle project. A malicious APK can break out of the string context so that opening or building the exported Gradle project executes attacker-controlled Groovy code on the victim machine. This issue is fixed in version 1.5.6.
Articles & Coverage 1
AnalysisAI
Arbitrary Groovy code execution in the jadx Dex-to-Java decompiler (prior to 1.5.6) allows a malicious APK to run attacker-controlled code on the analyst's machine. When jadx exports a decompiled APK as an Android Gradle project, it copies the android:versionName value from AndroidManifest.xml into the generated build.gradle Groovy template without sanitization, letting a crafted value break out of the string literal and inject code that executes when the victim opens or builds the exported project. No public exploit identified at time of analysis; EPSS risk is low (0.15%, 5th percentile) and CISA SSVC records exploitation as none, but the technical impact is total.
Technical ContextAI
The affected technology is jadx, an open-source Android reverse-engineering tool that decompiles Dalvik bytecode (DEX) to Java and can export a project scaffold for the Android Gradle build system. The root cause is CWE-94 (Improper Control of Generation of Code / Code Injection): jadx's TemplateFile/AndroidGradleGenerator machinery substituted the attacker-controlled android:versionName manifest attribute directly into a Groovy build.gradle template. Because Gradle build scripts are executable Groovy, any value that terminates the surrounding string literal is interpreted as live code rather than data. The upstream fix (commit 5a6e660) introduces a SANITIZE_STRINGS security flag, a SanitizeType enum (GRADLE_GROOVY / GRADLE_KOTLIN), and a sanitizeGradle routine that strips dangerous characters (;'"${}/:>?*|[]\) from template variables unless a caller explicitly opts out with a '!!' raw-value marker.
RemediationAI
Vendor-released patch: jadx 1.5.6 - upgrade to 1.5.6 or later, which adds Groovy/Kotlin string sanitization for Gradle template values (commit 5a6e660b4663d998d52c7dc4511299f3368ef611; release https://github.com/skylot/jadx/releases/tag/v1.5.6; advisory https://github.com/skylot/jadx/security/advisories/GHSA-w6f5-h4x4-rfpj). Note that the same commit adds a JADX_DISABLE_ALL_SECURITY_FLAGS environment variable that turns off these protections, so ensure it is NOT set to 'true' in analyst environments. Until you can upgrade, the concrete compensating controls are: avoid using the "export as Android Gradle project" feature on untrusted APKs (trade-off: loses the Gradle scaffold convenience); if you must export, inspect the generated build.gradle for suspicious versionName content before opening it in an IDE or running any Gradle task (trade-off: manual and error-prone); and never open/import an exported project into an IDE that auto-runs Gradle sync on untrusted samples. Detonate untrusted APK analysis inside an isolated, disposable VM/sandbox so any code execution is contained (trade-off: added workflow overhead).
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44534