信息安全工具binwalk曝高危路径遍历漏洞,可导致远程代码执行

安全分析工具binwalk存在路径遍历漏洞(CVE-2022-4510),攻击者可通过恶意文件实现远程代码执行。该漏洞影响2.1.2b至2.3.3版本,已在新版本2.3.4中修复。研究还发现类似漏洞影响其他文件系统提取器。

信息安全工具binwalk曝高危路径遍历漏洞

Adam Bannister
2023年2月3日 16:36 UTC
更新:2023年2月17日 13:20 UTC

漏洞概述

安全分析工具Binwalk因存在路径遍历漏洞,对运行过时版本的用户构成安全风险,可能导致远程代码执行(RCE)。Binwalk是Linux中流行的命令行工具,用于分析、逆向工程和提取固件映像。

漏洞详情

该路径遍历问题要求用户“在提取模式(-e选项)下使用binwalk打开恶意文件”,因此需要用户交互。根据ONEKEY Research Lab的Quentin Kaiser发布的安全公告,该漏洞被追踪为CVE-2022-4510,并被归类为高危(CVSS 7.8)。

根本原因

该漏洞是由于2017年将Professional File System(PFS)提取器插件与binwalk合并时引入的,原因是使用os.path.join缓解路径遍历风险的尝试失败。

结果是六年后,Kaiser发现“通过制作包含../遍历序列的文件名的有效PFS文件系统,我们可以强制binwalk在提取目录之外写入文件”。PFS是一种在嵌入式设备中偶尔发现的晦涩文件系统格式。

环境无关的利用

Kaiser针对binwalk的插件系统,试图实现“环境无关”的RCE路径。插件一旦放入Python工具的插件目录,就会在所有binwalk扫描中加载。

“因此,如果我们利用路径遍历在该位置写入有效插件,binwalk会在扫描恶意文件时立即拾取并执行它,”Kaiser解释道。“此外,PFS提取器将负责创建所有必需的目录(如果它们不存在),因此我们不需要对运行的系统有任何期望。”

恶意插件设计

Kaiser制作了一个恶意插件,“由于没有定义明确的目的(例如,签名扫描、熵计算、压缩流识别)的MODULE属性,它会执行两次。我利用这种行为使其在事后自行清理。”

受影响版本与修复

受影响的版本包括2.1.2b至2.3.3。该漏洞在2023年2月2日通过发布binwalk版本2.3.4得到解决——距ONEKEY首次联系该工具的维护者Microsoft旗下的Refirm Labs并提供建议补丁(2022年10月)已超过三个月。

其他受影响项目

Kaiser的研究还发现了影响其他文件系统提取器的类似中危CVE,即ubi_reader、Jefferson、yaffshiv项目。

Kaiser警告说,即使完全最新的binwalk实例也可能容易受到相同利用链的攻击,因为yaffshiv在binwalk上默认安装并启用,只是攻击向量将是YAFFS而不是PFS。

“Yaffshiv由binwalk背后的团队维护,因此我们希望很快会有修复,”Kaiser告诉The Daily Swig。“编写安全的格式解析器和提取器是一项复杂的任务(相信我们,我们一直在用[我们自己的提取套件]Unblob处理这些问题),因此鉴于binwalk支持的格式数量,我们在其中发现这类漏洞并不奇怪。”

安全提醒

该研究提醒我们,安全工具本身可能包含安全漏洞。“这在取证分析和逆向工程中尤其关键,因为我们通常面临不受信任的潜在恶意文件,”Kaiser说。

“虽然本文中描述的路径遍历有可能使任何逆向工程努力无效并篡改收集的证据,但它们也证明了沙箱分析环境以限制此类漏洞影响的重要性。特别是随着依赖binwalk等工具的自动提取和分析工具(例如FACT、ofrak、EMBA)的兴起,开发人员和用户了解这些风险非常重要。”

Kaiser暗示‘D-Link RomFS’插件可能是他下一步的研究重点,因为它“可能受到类似漏洞的影响”。

The Daily Swig已联系Refirm Labs征求意见。如果他们回应,我们将更新本文。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计