安卓“奧利奧”操作系統(tǒng)(Android Oreo)引入的“自適應(yīng)圖標(biāo)”(Adaptive Icons)功能被曝漏洞,致使數(shù)千部手機(jī)陷入無限重啟模式(Boot Loop),用戶被迫恢復(fù)出廠設(shè)置,導(dǎo)致數(shù)據(jù)丟失。
Android版“滑動(dòng)的臉書”(Swipe for Facebook,一款Facebook套殼瀏覽器工具應(yīng)用)的開發(fā)人員Jcbsera發(fā)現(xiàn)該漏洞,所幸漏洞不影響默認(rèn)狀態(tài)的Android Oreo((8.0)
“自適應(yīng)圖標(biāo)”應(yīng)用程序受影響這個(gè)漏洞只對(duì)使用自適應(yīng)圖標(biāo)功能的應(yīng)用程序構(gòu)成影響。Android Oreo引入的這項(xiàng)新功能會(huì)根據(jù)用戶的設(shè)備修改圖標(biāo)的形狀和大小,或修改用戶在設(shè)備上使用的啟動(dòng)器類型。
自適應(yīng)圖標(biāo)的樣式被定義為本地XML文件。當(dāng)Jcbsera使用與XML文件(ic_launcher_main.png and ic_launcher_main.xml)相同的名稱對(duì)自適應(yīng)圖標(biāo)的前景圖像重命名時(shí),該漏洞便會(huì)暴露出來。
相同名稱的兩個(gè)文件循環(huán)引用Jcbsera開發(fā)應(yīng)用程序時(shí)并未發(fā)現(xiàn)這個(gè)漏洞,因?yàn)樗辉贏ndroid Studio 應(yīng)用程序提供的Android模擬器中測(cè)試自己開發(fā)的新版應(yīng)用程序。
然而,當(dāng)Jcbsera將更新推送給用戶后,用戶在Play Store應(yīng)用商店頁(yè)面的抱怨和差評(píng)如潮時(shí),他才發(fā)現(xiàn)都是該漏洞惹的禍。Jcbsera向谷歌提交漏洞報(bào)告時(shí)寫到,名稱相同的兩個(gè)文件引起循環(huán)引用,而Android Studio并未注意該問題。這個(gè)問題導(dǎo)致SystemUI和手機(jī)的啟動(dòng)器(Pixel Launcher和其它支持自適應(yīng)圖標(biāo)的啟動(dòng)器)不斷崩潰,用戶因此無法進(jìn)入啟動(dòng)器,更不用說進(jìn)入“設(shè)置”卸載這款應(yīng)用程序,最終導(dǎo)致手機(jī)無限重啟。
一旦安裝、就無限重啟Jcbsera表示,觸發(fā)漏洞無需用戶打開這款應(yīng)用程序,只要安裝到設(shè)備上就會(huì)進(jìn)入無限重啟模式。
Jcbsera補(bǔ)充稱,唯一的解決方案是通過adb(Android Debug Bridge)卸載這款應(yīng)用(幸運(yùn)的話,會(huì)在手機(jī)重啟并啟用USB調(diào)試之前及時(shí)進(jìn)入adb),但最終還是會(huì)收到出廠恢復(fù)提示,數(shù)千名用戶因此受到干擾。
與此同時(shí),這名開發(fā)人員發(fā)布的新版Swipe for Facebook不會(huì)導(dǎo)致Android Oreo設(shè)備崩潰。
Android開發(fā)人員向Jcbsera表示,他們計(jì)劃在即將發(fā)布的8.1版本中修復(fù)該漏洞。
谷歌發(fā)布Android Oreo已有數(shù)日,用戶還發(fā)現(xiàn)谷歌新移動(dòng)操作系統(tǒng)中存在漏洞,可繞過WiFi連接,并持續(xù)使用移動(dòng)數(shù)據(jù)聯(lián)網(wǎng),導(dǎo)致用戶遭受經(jīng)濟(jì)損失。