總機:020-87516161 傳真:020-87516161-8040
地址:廣州市天河北路898號信源大廈3206-3211室 郵編:510660
安全服務 > 安全公告 > 關于Android平臺WebView控件存在跨域訪問高危漏洞的安全公告
安全公告編號:CNTA-2018-0005
2017年12月7日,國家信息安全漏洞共享平臺(CNVD)接收到騰訊玄武實驗室報送的Android WebView存在跨域訪問漏洞(CNVD-2017-36682)。攻擊者利用該漏洞,可遠程獲取用戶隱私數(shù)據(jù)(包括手機應用數(shù)據(jù)、照片、文檔等敏感信息),還可竊取用戶登錄憑證,在受害者毫無察覺的情況下實現(xiàn)對APP用戶賬戶的完全控制。由于該組件廣泛應用于Android平臺,導致大量APP受影響,構成較為嚴重的攻擊威脅。
一、漏洞情況分析
WebView是Android用于顯示網頁的控件,是一個基于Webkit引擎、展現(xiàn)web頁面的控件。WebView控件功能除了具有一般View的屬性和設置外,還可對URL請求、頁面加載、渲染、頁面交互進行處理。
該漏洞產生的原因是在Android應用中,WebView開啟了file域訪問,且允許file域對http域進行訪問,同時未對file域的路徑進行嚴格限制所致。攻擊者通過URL?Scheme的方式,可遠程打開并加載惡意HTML文件,遠程獲取APP中包括用戶登錄憑證在內的所有本地敏感數(shù)據(jù)。
漏洞觸發(fā)成功前提條件如下:
1.WebView中setAllowFileAccessFromFileURLs 或setAllowUniversalAccessFromFileURLsAPI配置為true;
2.WebView可以直接被外部調用,并能夠加載外部可控的HTML文件。
CNVD對相關漏洞綜合評級為“高危”。
二、漏洞影響范圍
漏洞影響使用WebView控件,開啟file域訪問并且未按安全策略開發(fā)的Android應用APP。
三、漏洞修復建議
廠商暫未發(fā)布解決方案,臨時解決方案如下:
1. file域訪問為非功能需求時,手動配置setAllowFileAccessFromFileURLs或setAllowUniversalAccessFromFileURLs兩個API為false。(Android4.1版本之前這兩個API默認是true,需要顯式設置為false)
2. 若需要開啟file域訪問,則設置file路徑的白名單,嚴格控制file域的訪問范圍,具體如下:
(1)固定不變的HTML文件可以放在assets或res目錄下,file:///android_asset和file:///android_res 在不開啟API的情況下也可以訪問;
(2)可能會更新的HTML文件放在/data/data/(app) 目錄下,避免被第三方替換或修改;
(3)對file域請求做白名單限制時,需要對“../../”特殊情況進行處理,避免白名單被繞過。
3. 避免App內部的WebView被不信任的第三方調用。排查內置WebView的Activity是否被導出、必須導出的Activity是否會通過參數(shù)傳遞調起內置的WebView等。
4. 建議進一步對APP目錄下的敏感數(shù)據(jù)進行保護。客戶端APP應用設備相關信息(如IMEI、IMSI、Android_id等)作為密鑰對敏感數(shù)據(jù)進行加密。使攻擊者難以利用相關漏洞獲得敏感信息。