POC详情: aa726516c00420cc0084248df79277de3b12308c

来源
关联漏洞
标题: Android LibUtils 远程代码执行漏洞 (CVE-2016-3861)
描述:Android是美国谷歌(Google)公司和开放手持设备联盟(简称OHA)共同开发的一套以Linux为基础的开源操作系统。Libutils是Android的一个底层库。 Android LibUtils中存在远程代码执行漏洞,该漏洞源于程序没有正确处理Unicode字符编码与不同编码宽度的转换。远程攻击者可通过特制的文件利用该漏洞执行任意代码,或造成拒绝服务(基于堆的缓冲区溢出)。以下版本受到影响:Android 4.4.4之前的4.x版本,5.0.2之前的5.0.x版本,5.1.1之前的5.1.x版本
描述
my extended take on Mark Brand's CVE 2016-3861 libutils bug
介绍
# CVE-2016-3861

An extended version of Mark Brand's libutils exploit, from the Google Project Zero blog post: https://googleprojectzero.blogspot.com/2016/09/return-to-libstagefright-exploiting.html

Main differences:
* all of the mp4 files used for exploitation are generated in the browser dynamically
* comes with an 'extra_groom' option as certain AOSP builds in the 5-6 version regions require additional heap grooming

Does this actually work?
* yes, but it only gets PC control, and does nothing further
* I've only provided hard-coded addresses for one AOSP build that worked on a spare Nexus 5 I had lying around
* I've attempted this exploit on other phone models (e.g. Samsung), and the heap groom seems to be way different
* code is old, and comments aren't exactly fantastic

This was my first foray into browser exploits, and I really just wanted to see if I could do it. Really this just ended up being an exercise in learning mp4 parsing and some libmedia internals.
文件快照

[4.0K] /data/pocs/aa726516c00420cc0084248df79277de3b12308c ├── [ 912] bn_calc_offsets.py ├── [ 32K] poc.html └── [ 983] README.md 0 directories, 3 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。