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