近日,國外安全研究人員揭露多款Android平臺下的授權應用管理軟體存在3個安全漏洞,利用漏洞可進行root提權, TSRC也對這3個Android Superuser 提權漏洞進行了分析,具體分析情況請參見下文。
一、Superuser環境變量設置漏洞
【影響產品】
在 Android <= 4.2.x 已root過的系統上使用到以下授權管理應用的都可能受影響:
1、ChainsDD Superuser (當前版本,包括v3.1.3)
2、CyanogenMod/ClockWorkMod/Koush Superuser (當前版本,包括v1.0.2.1)
3、Chainfire SuperSU v1.69以前的版本
【漏洞原理】
1、 偽造包含惡意shell代碼的app_process,該shell代碼將/system/bin添加到環境變量,然後在data目錄創建文件,由於默認情況下僅允許root權限才能創建,若創建成功就代表root提權成功,具體代碼如下:
2、 利用chmod 755 app_process賦予惡意腳本app_process執行權限,然後將惡意腳本app_process所在目錄添加到環境變量PATH=`pwd`:$PATH;
3、 正常情況下,通過命令su –c 『true』 會執行系統的app_process程序,但由於惡意腳本所在目錄已經被添加到環境變量,此時會導致惡意腳本app_process替換原系統的app_process程序被執行。
4、 環境變量BOOTCLASSPATH也存在上述問題。