CVE-2026-39973: Apktool: Path Traversal to Arbitrary File Write
A path traversal vulnerability in brut/androlib/res/decoder/ResFileDecoder.java allows a maliciously crafted APK to write arbitrary files to the filesystem during standard decoding (apktool d). This is a security regression introduced in commit e10a045 (PR #4041, December 12, 2025), which removed the BrutIO.sanitizePath() call that previously prevented path traversal in resource file output paths.
An attacker can embed ../ sequences in the resources.arsc Type String Pool to escape the output directory and write files to arbitrary locations, including ~/.ssh/config, ~/.bashrc, or Windows Startup folders, escalating to RCE.
Fix: Re-introduce BrutIO.sanitizePath() in ResFileDecoder.java before file write operations.
References
- github.com/advisories/GHSA-m8mh-x359-vm8m
- github.com/iBotPeaches/Apktool/commit/e10a0450c7afcd9462c0b76bcbff0e7428b92bdd
- github.com/iBotPeaches/Apktool/pull/4041
- github.com/iBotPeaches/Apktool/releases/tag/v3.0.2
- github.com/iBotPeaches/Apktool/security/advisories/GHSA-m8mh-x359-vm8m
- nvd.nist.gov/vuln/detail/CVE-2026-39973
Code Behaviors & Features
Detect and mitigate CVE-2026-39973 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →