在移动安全框架 (MobSF) 中发现了一个严重缺陷,允许经过身份验证的攻击者利用不正确的路径验证来上传和执行恶意文件。
该漏洞存在于 4.4.0 版本中并在 4.4.1 中进行了修补,强调了在处理用户提供的文件路径和存档时严格清理的重要性。
Key Takeaways 1. MobSF v4.4.0 allowed attackers to exploit file path flaws to access sensitive files. 2. These vulnerabilities risked data leaks and system corruption. 3. Update and secure the platform.
目录遍历漏洞 (CVE-2025-58161)
第一个问题存在于 MobSF/views/home.py 中实现的下载处理程序中。该函数天真地剥离了 /download/ 前缀,并将剩余的字符串连接到配置的设置。DWD_DIR使用 Python 的路径 API:
在这里,is_safe_path() 使用 os.path.commonprefix() 来验证解析的check_path是否以 safe_root 开头。
但是,由于 commonprefix 比较原始字符串,因此名为 /home/mobsf/ 的同级目录。MobSF/downloads_bak 被错误地视为 /home/mobsf/ 内部。MobSF/下载。通过发出这样的请求:

攻击者可以从同级目录中检索具有允许扩展名的任何文件。
此目录遍历漏洞 (CVE-2025-58161) 的严重性等级为低 (CVSS 3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N),并影响所有使用 mobsf 软件包 4.4.0 版的安装。
绝对路径滑移漏洞
第二个更严重的漏洞 (CVE-2025-58162) 影响了 mobsf/StaticAnalyzer/views/common/shared_func.py 中的 AR 存档提取逻辑。
ar_extract() 函数解码每个存档成员名称并仅过滤相对路径遍历(..、%2e%2e 等),忽略绝对文件名:
当 filtered 以 / 开头时,Path(dst) / filtered 解析为绝对路径。攻击者控制的 .a 存档,其中包含类似 /home/mobsf/ 的成员。MobSF/db.sqlite3 会导致覆盖预期static_objects目录之外的数据库文件。
演示表明,上传精心制作的存档会触发服务器错误并损坏 SQLite 数据库,从而导致扫描故障和潜在的 Stored XSS,通过篡改静态模板。
此中等严重性缺陷 (CVSS 3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H) 允许在 MobSF 进程的权限下进行任意文件写入,从而存在分析结果失真、完整性受损和服务中断的风险。
CVE 编号 | 标题 | CVSS 3.1 分数 | 严厉 |
CVE-2025-58161 漏洞 | MobSF 下载路线中的路径遍历 | 0 | 低 |
CVE-2025-58162 漏洞 | 通过 .a 存档提取进行任意文件写入 | 7.4 | 温和 |
缓解
发现这些漏洞的功劳归功于 Vasily Leshchenko (Solar AppSec) 和记者 noname1337h1。
MobSF 4.4.1 中解决了这两个问题。用户应立即升级。建议的修复包括:
- 通过使用 os.path.isabs() 检查规范化输入来拒绝绝对路径。
- 使用 os.path.commonpath() 而不是 commonprefix() 来实施强大的目录边界。
- 确保存档提取始终验证规范化目标路径是否保留在预期根目录下。
1. 本版块文章内容及资料部分来源于网络,不代表本站观点,不对其真实性负责,也不构成任何建议。
2. 部分内容由网友自主投稿、编辑整理上传,本站仅提供交流平台,不为该类内容的版权负责。
3. 本版块提供的信息仅作参考,不保证信息的准确性、有效性、及时性和完整性。
4. 若您发现本版块有侵犯您知识产权的内容,请及时与我们联系,我们会尽快修改或删除。
5. 使用者违规、不可抗力(如黑客攻击)或第三方擅自转载引发的争议,联盟不承担责任。
6. 联盟可修订本声明,官网发布即生效,继续使用视为接受新条款。