華碩路由器固件中被檢測出一個嚴重漏洞,該漏洞能夠使得未經身份認證的攻擊者在路由器中遠程執行任意指令,漏洞可能影響到華碩所有版本的路由器固件。
安全研究員Joshua Drake在幾個華碩路由器中的固件里發現了一個嚴重的漏洞,該漏洞能夠使得未經身份認證的攻擊者在路由器中執行任意指令。根據專家所說,這個安全漏洞可能影響到目前華碩所有版本的路由器固件。Drake在Github上面發布了一份報告,詳細描述了該漏洞。受影響的路由器包括RT-AC66U,RT-N66U,以及更多其他的型號。
Drake在報告中分析了該漏洞,發現問題存在于infosvr服務中,該服務用于幫助管理員在一個網段中發現和配置華碩路由器。
“幾款華碩的路由器都包含一個稱為infosvr的服務,該服務用來監聽LAN接口上的UDP廣播端口9999。華碩的一個工具使用該服務來自動定位本地子網中的路由器,進而做到簡化配置。該服務以root權限運行并且包含一個未經身份驗證的遠程命令執行漏洞。該服務的源代碼以及其他的路由器可以從華碩支持網站得到。”Drake在Github上的報告中描述道。
漏洞分析
專家推斷漏洞存在于一塊與processPacket函數相關的代碼段中,該函數在接收到一個大小為512字節的INFO_PDU_LENGTH數據包之后被調用。
下面的代碼塊極有可能包含了導致該漏洞的根本原因。
“大概是原先設計的時候并沒考慮需要身份認證,所以該代碼塊首先排除了兩個操作碼值。然后,調用了memcpy函數并檢測返回值是否等于0。這里可以推測原本很可能是想使用函數memcmp來檢測MAC地址的有效性。其實,即使是正確使用了memcmp函數,僅僅通過驗證MAC地址的有效性也并不足以進行身份認證。”Drake說。
安全建議
Drake建議從受影響的服務中刪除遠程指令執行功能,以此來保護路由器的安全。
“建議從該服務中刪除遠程命令執行功能。即使它由強大的認證機制來保護,在整個局域網中廣播一個密碼也并不合適。如果真的需要遠程命令執行功能,那也應該通過SSH或類似的安全機制來傳輸。”Drake在他的報告中寫道。
David Longenecker建議使用一個腳本(JFFS)結合script_usbmount nvram設置在華碩路由器啟動完畢時殺死infosvr進程。Eric Sauvageau(@RMerl)提出了另一個寶貴的建議,建議使用防火墻關閉9999端口。
此外,另一種可能的方法是在每次路由器啟動完畢時通過殺死該進程來關閉infosvr服務。
CVE將這個華碩路由器固件中的漏洞標號為CVE-2014-9583。