严重RCE漏洞影响数百万基于OpenWrt的网络设备
字数 1362 2025-08-18 11:39:30
OpenWrt OPKG 远程代码执行漏洞 (CVE-2020-7982) 技术分析与修复指南
漏洞概述
CVE编号: CVE-2020-7982
漏洞类型: 远程代码执行 (RCE)
影响范围: OpenWrt 8.06.0 至 18.06.6 版本、19.07.0 版本,以及 LEDE 17.01.0 至 17.01.7 版本
发现者: Guido Vranken (ForAllSecure 软件公司)
公开日期: 2020年3月24日
漏洞存在时间: 约3年
漏洞技术细节
漏洞位置
该漏洞存在于OpenWrt的OPKG包管理器中,具体涉及包管理器对下载数据包执行的完整性检查机制。
漏洞原理
- 签名验证缺陷: OPKG使用嵌入在签名存储库索引中的SHA-256 checksums来验证下载数据包的完整性
- 校验绕过机制: 当checksum包含任意前导空格时,脆弱版本的OPKG会跳过完整性检查
- 权限问题: OPKG以root身份运行,对整个文件系统具有写入权限
攻击向量
攻击者可通过以下方式利用此漏洞:
- 进行中间人攻击(MitM)
- 诱使系统执行
opkg install指令 - 在不验证的情况下安装恶意数据包或软件更新
- 完全控制目标OpenWrt网络设备
利用条件
- 通过不安全的HTTP连接下载文件(数字签名验证依赖不安全的传输)
- 提交恶意数据包,其大小必须与downloads.openwrt.org上的数据包列表指定的大小一致
影响范围
受影响版本
- OpenWrt 8.06.0 至 18.06.6
- OpenWrt 19.07.0
- LEDE 17.01.0 至 17.01.7
潜在影响
- 完全控制OpenWrt网络设备
- 劫持设备管理的所有网络流量
- 在设备上执行任意代码
临时缓解措施
OpenWrt团队采取的临时措施:
- 从数据包列表移除了SHA256sum中的空格
注意: 这不是长期解决方案,因为攻击者仍可提供由OpenWrt维护者签名的旧数据包列表
永久修复方案
升级到以下已修复版本:
- OpenWrt 18.06.7
- OpenWrt 19.07.1
修复步骤
- 检查当前版本: 通过SSH登录设备后执行
cat /etc/openwrt_release - 备份配置: 执行
sysupgrade -b /tmp/backup.tar.gz - 下载固件: 从OpenWrt官网下载对应设备型号的最新固件
- 升级固件: 使用
sysupgrade -n /path/to/firmware.bin命令升级 - 恢复配置: 升级完成后恢复备份配置
长期安全建议
- 始终使用HTTPS连接下载软件包
- 定期检查并应用OpenWrt安全更新
- 考虑在网络边界部署入侵检测系统监控异常流量
- 限制对OPKG管理界面的访问
参考资源
- OpenWrt官方安全公告
- Guido Vranken的原始漏洞报告
- The Hacker News相关报道
总结
CVE-2020-7982是一个严重的远程代码执行漏洞,影响广泛使用的OpenWrt操作系统。由于OPKG以root权限运行,该漏洞可能导致设备完全被控制。所有运行受影响版本的用户应立即升级到修复版本,并遵循安全最佳实践以防止类似漏洞的利用。