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
- 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. Learn more about Dependency Scanning →