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