Retme的未来道具研究所

世界線の収束には、逆らえない

早期安卓内核漏洞经常是:某个设备被设置成了755/666之类的,造成全局可读写,然后将这些设备mmap出来,就可以操作物理内存了

比如这样的设备有:

/dev/exynos-mem CVE-2012-6422 http://forum.xda-developers.com/showthread.php?p=35469999

/dev/dhcp CVE不详

/dev/msm_camera/config0 (CVE-2013-2595)的 “MSM_CAM_IOCTL_SET_MEM_MAP_INFO” 设置,mmap物理内存

/dev/graphics/fb0 的 FBIOGET_FSCREENINFO获取信息,然后mmap物理内存

安卓某些驱动确实需要提供物理内存映射的接口,比如 /dev/exynos-mem,但是应该仅仅提供给内核使用,应用层能使用的话就坑爹了

又有一些是根本没有必要暴露这种接口,却暴露了。 比如 /dev/msm_camera/config0 ,在 https://www.codeaurora.org/projects/security-advisories/uncontrolled-memory-mapping-camera-driver-cve-2013-2595 的patch中,直接将 msm_mmap_config给注释掉了。可能是没什么用,写程序时照模板抄的?


评论已关闭