Perception Point 的研究人员发现了一个 Linux 内核本地提权漏洞,影响 3.8 之后的版本,在服务器上利用该漏洞需要本地访问,而受影响的 Android 设备则不太可能得到修正。
使用 3.8+ 内核的 Android 系统包括了 KitKat、Lollipop 和 Marshmallow,Jellybean 使用 3.4.39 内核所以不受影响,而 Lollipop 和 Marshmallow 启用 SELinux 屏蔽了相关的系统调用,漏洞在这些系统上是无法利用的,所以真正受影响的是 KitKat 设备,其市场占有率是 36%。
研究人员解释漏洞:如果一个进程导致内核泄露 0x100000000 引用给同一个对象,之后它可能让内核认为对象不再被引用,于是释放对象。如果同一个进程占用另一个合法引用,在释放对象后使用该引用,这会导致内核重新分配引用,或者重新指派内存。