0x1 漏洞描述
这个漏洞没有被CVE库收录,而是被默默修补掉了.通过查看AOSP changelog(4.4.2 – 4.4.3)当中的内容可以得知这是一个vold进程中asec模块由于没有校验用户传递路径而导致的问题.它可以让vold为我们mount任意目录,如果该目录原本存在,将被新的目录覆盖掉.由于vold进程是以root权限运行的,它的功能和潜在的安全漏洞都成为令人关注的目标.
0x2 原理分析
Vold守护进程是Android系统上用于管理和控制外部存储设备的后台进程.比如插入SD卡时,vold会处理这一事件,先将SD卡挂载到相应的路径(/mnt/sdcard),当SD卡被用户取出后,vold就会卸载目标卷.
/*
问题代码摘自AOSP4.4.2/system/vold/VolumeManager.cpp当中的createAsec函数
http://androidxref.com/4.4.2_r2/xref/system/vold/VolumeManager.cpp
*/