信息安全工具Binwalk严重路径遍历漏洞修复,可导致远程代码执行

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

信息安全工具Binwalk严重安全漏洞已修复

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

路径遍历可能“使逆向工程努力无效并篡改收集的证据”
由于存在可导致远程代码执行(RCE)的路径遍历漏洞,安全分析工具Binwalk本身对运行过时版本的用户构成安全风险。

Binwalk是Linux中流行的命令行工具,用于分析、逆向工程和提取固件映像。

根据ONEKEY Research Lab的Quentin Kaiser发布的安全公告,路径遍历问题需要用户“使用提取模式(-e选项)使用binwalk打开恶意文件”,因此需要用户交互。

该漏洞被追踪为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。该漏洞于昨天(2月2日)通过发布binwalk版本2.3.4得到解决——距离ONEKEY于2022年10月首次联系该工具的维护者、微软旗下的Refirm Labs并提供建议补丁已超过三个月。

Yaffshiv

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 设计