ForAllSecure 公司的研究员 Guido Vranken 在基于 Linux 的开源操作系统 OpenWrt 中发现了一个已存在3年之久的 RCE 漏洞(CVE-2020-7982),并发布技术详情和PoC。

OpenWrt 是一款广泛应用于路由器、家庭网关和其它路由网络流量的嵌入式设备的操作系统。该漏洞存在于 OpenWrt 的 OPKG 包管理器中,是由于 OPKG 包管理器对通过嵌入已签名存储库索引中的 SHA-256 校验和而下载的数据包的完整性检查不正确导致的。

如果受害者系统启用了 “opkg install” 命令,那么该缺陷可导致远程中间任攻击者拦截目标设备的通信,通过诱骗系统在未验证情况下下载恶意数据包或软件更新的方式执行任意代码。

漏洞如遭成功利用,远程攻击者能够完全控制目标 OpenWrt 网络设备,从而控制它所管理的网络流量。

Vranken 发现了这个已存在三年之久的 RCE 漏洞后,负责任地告知 OpenWrt 开发团队。Vranken 解释称,当校验和包含任何前导空格时,易受攻击的 OpenWrt 版本上的 OPKG 会跳过对已下载数据包完整性的检查,然后继续执行安装任务。

OpenWrt 团队指出,“由于 OpenWrt 上的 pokg 以 root 身份运行,而且具有对整个文件系统的写入权限,因此能够通过带有恶意 payload 的伪造 .ipk 包的方式注入任意代码。”

由于通过不安全的 HTTP 连接下载文件时,基于 Linux 的软件安装机制中的完整性依靠数字签名文件,因此该漏洞可遭远程利用。

此外,要利用该漏洞,攻击者还需要提供一个恶意包,其大小等同于 downloads.openwrt.org上数据包列表中所指定的大小。

OpenWrt 团队指出,受影响版本是 18.06.0至18.06.6、19.07.0以及 LEDE 17.01.0至17.01.7版本。

Vranken在博客文章中指出,“作为权宜之计,OpenWRT 收到漏洞报告后不久就从该数据包中删除了 SHA256sum 中的空格。然而,这并非长久之计,因为攻击者可提供一个已被 OpenWRT 维护人员签名的老旧数据包列表。”

为此,建议受影响用户将设备固件更新至上个月刚发布的 OpenWrt 18.06.7和19.07.1版本。

原文链接

https://thehackernews.com/2020/03/openwrt-rce-vulnerability.html

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。