CVE-2026-39973Apktool 3.0.0及3.0.1版本存在严重的路径遍历漏洞。该漏洞源于ResFileDecoder.java中移除了关键的路径清理代码,导致攻击者可精心制作恶意APK文件,利用resources.arsc字符串池中的../序列绕过目录限制。当用户使用Apktool解码该APK时,攻击者可向系统任意位置写入文件,进而可能实现远程代码执行。
该漏洞是一个典型的安全回归问题,由commit e10a045引入。开发者在重构代码时,错误地从`ResFileDecoder.java`中移除了用于防御路径遍历的关键调用`BrutIO.sanitizePath()`。攻击者利用这一点,可以在恶意APK的`resources.arsc`文件的Type String Pool字段中精心构造包含`../`序列的字符串数据。当受害者使用受影响版本的Apktool执行`apktool d`命令对该APK进行反编译或解码时,程序会解析资源池中的字符串并将其作为文件路径进行拼接。由于缺乏输入过滤,攻击者可以利用路径回溯逃逸预设的输出目录,将恶意内容写入文件系统的任意位置。通过覆盖配置文件(如`~/.ssh/config`、`~/.bashrc`)或系统启动目录,攻击者可最终在用户环境中执行任意代码,造成严重的安全威胁。