OPENWRT/LEDE远程代码执行误差危害通告

宣布时间 2020-03-25

误差编号和级别


CVE编号:CVE-2020-7982,危险级别:高危,CVSS分值:8.1


影响版本


OPENWRT 18.06.0到18.06.6版本以及OPENWRT 19.07.0版本

基于OPENWRT固件制作的LEDE固件 17.01.0到17.01.7 版本

较量老的已经不受支持的版本例如OPENWRT 15.05 以及LEDE 17.01 受误差影响且不受支持无法修复


误差概述


OpenWrt是一套针对嵌入式装备的Linux操作系统 。


OPENWRT固件使用的包剖析管理器OPKG FORK保存逻辑过失,管理器忽略了署名库中包括的SHA-256校验值 。这意味着直接通过管理器装置 IPK离线装置包时是不经由校验的,而攻击者则可以使用这个误差装置危险的内容 。由于包剖析管理器自己是以ROOT权限运行的因此权限很是高,其权限可以针对整个文件系统不会受到权限管理 。攻击者若是通过伪造的方法装置具有恶意代码的 .IPK装置包则可以获得ROOT权限,进而也可以控制整个路由器 。


为了使用此误差,攻击者需要发动中心人攻击 (MITM),提供有用且已署名的包索引(例如,从downloads.openwrt.or g获得的索引)和一个或多个具有与存储库索引中指定的相同巨细的伪造.ipk包,同时在受害系统上挪用“opkg install”下令 。


误差验证


暂无PoC/EXP 。


修复建议


现在厂商已宣布OpenWrt新版本,链接:https://openwrt.org/advisory/2020-01-31-1 。

或者,要在不升级整个固件的情形下更新opkg包自己,可以在更新所有存储库后使用以下下令:

cd /tmp

opkg update

opkg download opkg

zcat ./opkg-lists/openwrt_base | grep -A10 "Package: opkg" | grep SHA256sum

sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk

较量两个校验和,若是匹配,继续装置程序包:

opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk


参考链接


https://openwrt.org/advisory/2020-01-31-1