OpenWrt 發行版的修正版本已發布 и ,其中被消除 (CVE-2020-7982) 在套件管理器中 ,它允許您執行 MITM 攻擊並替換從儲存庫下載的套件的內容。 由於校驗和驗證程式碼中存在錯誤,攻擊者可以建立條件,忽略數位簽章資料包索引中存在的 SHA-256 校驗和,從而繞過檢查下載 ipk 資源完整性的機制。
該問題自 2017 年 XNUMX 月以來一直出現,之後 程式碼忽略校驗和之前的前導空格。 由於跳過空格時出現錯誤,指向行中位置的指標未移動,SHA-256 十六進位序列解碼循環立即返回控制並傳回零長度的校驗和。
由於OpenWrt中的opkg套件管理器是以root權限啟動的,因此一旦發生MITM攻擊,攻擊者可以在使用者執行「opkg install」命令時悄悄地對從儲存庫下載的ipk套件進行更改,並組織透過將您自己的處理程序腳本會新增到套件中(在安裝期間呼叫),以root 權限執行他的程式碼。 要利用此漏洞,攻擊者還必須安排替換正確且經過簽署的套件索引(例如,從 downloads.openwrt.org 提供的套件索引)。 修改後的套件的大小必須與索引中定義的原始大小相符。
在不需要更新整個韌體的情況下,可以透過執行以下命令僅更新 opkg 套件管理器:
CD / tmp目錄
opkg更新
opkg 下載opkg
zcat ./opkg-lists/openwrt_base | zcat ./opkg-lists/openwrt_base | zcat grep -A10「軟體包:opkg」| grep SHA256sum
sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk
接下來,比較顯示的校驗和,如果匹配,則執行:
opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk
新版本還消除了一個 在圖書館裡 ,在函數中處理時可能導致緩衝區溢出 特殊格式的序列化二進位或 JSON 資料。 該庫用於 netifd、procd、ubus、rpcd 和 uhttpd 等發行組件以及套件中 (參加了 sysUpgrade CLI)。 當「double」類型的大數值屬性在 blob 區塊中傳輸時,會發生緩衝區溢位。 您可以透過執行以下命令來檢查您的系統是否有漏洞:
$ubus 呼叫 luci getFeatures\
'{“巴尼克”:00192200197600198000198100200400.1922}'
除了消除漏洞和修正累積錯誤外,OpenWrt 19.07.1版本還更新了Linux核心版本(從4.14.162到4.14.167),解決了使用5GHz頻率時的效能問題,並改進了對Ubiquiti Rocket M的支持鈦金、Netgear WN2500RP v1 設備、
Zyxel NSA325、Netgear WNR3500 V2、Archer C6 v2、Ubiquiti EdgeRouter-X、Archer C20 v4、Archer C50 v4 Archer MR200、TL-WA801ND v5、HiWiFi HC5962、小米路由器 3 和 Netgear R6350。
來源: opennet.ru
