今日要闻
概述
我们发现,在ZDI漏洞项目中提交的漏洞中,最常见的就是影响PDF文档的漏洞,而在这些漏洞中,大多数都涉及到Adobe Reader。因此,我们挑选了这些Adobe Reader中最有代表性的漏洞,进行详细地分析。在Adobe Reader 2018年7月发布的更新中,包含CVE-2018-12794/ZDI-18-682的补丁。这一漏洞由Sebastian Apelt发现,并且提交了一份质量非常高的漏洞详情。
漏洞成因
产生这一漏洞的根本原因是类型混淆条件(Type Confusion Condition)。通过构建XML数据包(XML Data Package,XDP)模版,并对XML表单体系结构(XML Forms Architecture,XFA)对象执行某些JavaScript操作,攻击者就可以强制Adobe Reader从模版对象的边界引用数据。成功之后,将会在沙盒渲染器进程中实现代码执行。
漏洞详情
触发此漏洞所需的XDP模版非常简单:
该漏洞由两条JavaScript指令触发。通过将一个子表单附加到另一个子表单,我们可以触发底层Template对象的越界(Out-Of-Bounds)读取错误。在这种情况下,当一个子表单由xfa.template引用,一个由xfa.form引用,随后调用calling .presence = “inactive”;时,就会产生漏洞。
启用页堆(Page Heap)后,在读取Template对象过程中发生越界读取时,就会在CMP指令的位置发生崩溃。虽然该对象的大小似乎只有0x140字节,但我们在偏移量0x1d0处取消引用的数据超出了缓冲区的边界。
深入分析
根据崩溃情况,我们唯一能够知道的是对象类型为0x7c00。通过查看Solaris 9.4.1中acroform.api的符号化版本,我们可以看到这个特定的类型id属于XFATemplateModelImpl对象,它只是来自底层XDP的“Template”对象:
回到非符号化的Windows版本的acroform.api,我们可以确认Template对象的大小为0x140字节,这也是从上面引用的越界对象的大小。我们只需要几个步骤,就能够找到它的大小:
1、在Acroform.api中找到静态变数0x7c00并查找XFATemplateModelImpl::Type方法。
2、通过前后参照,我们得到XFATemplateModelImpl虚函数表(Vtable)。
3、对虚函数表进行前后参照(Xref),得到构造函数。
4、对构造函数进行前后参照,并向上滚动几行,将会展示出对象的大小,即0x140字节:
由于我们导致Template对象的越界读取,因此可以推测,代码正在期望一个更大的对象,而不是Template对象。同时,这一点也说明了在这里发生了类型混淆的问题。最有可能的情况就是,类型混淆的问题发生在xfa.template和xfa.form对象之间。尽管xfa.template的大小为0x140字节,但xfa.form对象的大小为0x270字节。
漏洞利用
我们无法在Template对象实例化之前去执行JavaScript代码,因此控制其崩溃并非一件容易的事。为了实现这一点,在XDP解析发生之前,需要在PDF解析过程中或其他受控制的数据处理期间,利用漏洞进行可以控制的分配和释放。控制崩溃发生的另一种方法,是构建一个PDF,其中包含能触发漏洞的附加PDF。Feng shui这个堆必须发生在外部PDF中,并触发内部(附加的)PDF中的漏洞。在这里,要使其以执行JavaScript代码的方式打开附加的PDF,还需要对许可权进行提升。因此,该方法可能对大多数用户都无效。
实际上,也可以在没有页堆的情况下,执行poc.pdf来观察可以控制崩溃发生的情况。由于读取了Unicode字元的一部分,并将其用作指针,最终会导致其发生崩溃。以下是不使用页堆情况下的崩溃输出:
结论
如果大家想要自行测试这一漏洞,PoC位于:https://github.com/thezdi/PoC/tree/master/CVE-2018-12794 。该漏洞应该适用于2018.011.20040版本之前的Adobe Reader。
纵观我们今年发布的通告,我们发现其中有许多与PDF相关的漏洞。Adobe Reader可能是漏洞数量最多的PDF浏览器,同时Foxit中也存在大量漏洞。由于Adobe Reader被很多操作系统作为默认PDF渲染器使用,因此也不难解释,为什么众多调查人员都在针对Adobe Reader寻找漏洞。
在之后,我们还将持续关注其安全性,请大家继续跟随我们了解最新的漏洞利用技术和安全补丁情况。
您可能敢兴趣
声明: 凡注明为其他媒体来源的信息,均为转载自其他媒体,转载并不代表本网赞同其观点,也不代表本网对其真实性负责。如系原创文章,转载请注明出处; 您若对该稿件内容有任何疑问或质疑,请即联系,本网将迅速给您回应并做处理。邮箱:mail@laishu.com
为您推荐
校园贷再曝乱象这到底是什么情况,了解最新消息?
2018-04-15 21:34
8月分手魔咒:不平衡的爱情注定走不远
2018-08-21 11:37
饮食提醒切记红薯的“死对头”
2018-02-21 03:39
红唇族加烟酒 罹癌增123倍 医师告诉你危害不只这些...
2019-11-06 17:37
秋葵,生菜
2020-01-27 07:42:15
滑坡毁百年铁轨 怎么回事
2019-02-02 05:46
解读改善你的饮食的3款创新菜肴
2018-02-25 03:39
李湘为女儿庆生 一家人真是太有爱了
2019-01-25 19:26
生完二胎后首露脸!福原爱瘦14公斤身材纤细
2019-07-27 12:32
2018CBME孕婴童展益生碱奏响全球备孕最强音
2018-08-01 13:46
月经不调饮食来调
2018-04-01 10:37
粗盐热敷4个部位治好4大顽疾可惜很少有人会用
2019-03-05 22:46
讨厌金牛座的人 是因为不懂金牛座 他们其实和你想像中的不同
2019-07-02 16:13
他才出生四天,四肢黑到要截肢、一碰就可能死亡!这一切只因爸妈一个无知的决定…
2018-02-17 12:45
石家庄现天价板面 为何如此天价 哪些人来吃
2019-02-02 04:47
统一西武双狮联名活动 日职传奇球星东尾修开球
2019-07-15 21:31
街头最红三大台式水果茶!!斗分量斗特色斗选择
2018-05-13 22:37
9个月婴儿如何进行认知能力训练
2018-02-15 01:00
最会伤人、伤人至深的十二星座排行榜 人必有一死 死于天蝎或死于水瓶
2018-05-03 06:34
对现任够深情 对前任够狠心的星座 第一名:金牛座
2019-07-08 16:18
滴滴顺风车回归 具体何时能归 消费者:等你回归
2019-04-15 20:39
从“出汗多”看体质?谨记养生方法,值得收藏!-今日头条(www.toutiao.com)
2018-01-11 23:45
备孕 你知道备什么吗?
2018-09-05 09:51
宝宝颅内出血、脑死亡竟是因为掉床 孩子坠床后万不可做错这3件事…
2018-10-16 12:57
日职/令和的怪物石垣岛初上陆 专属商品卖翻天
2020-09-17 12:51:25
新光三越彩虹市集改装结集60家餐厅品牌这5家人气超旺
2018-05-11 12:39
蝉联七年癌症死因第一名!预防大肠癌吃两物:越浓稠越抗癌,日本人爱吃、不想得癌更要吃|每日健康 Health
2019-03-21 21:53
每日排尿1500CC. 与尿路结石说再见
2019-10-25 18:35
原来这个八卦卦序的原理是这样的 其背后隐藏高深的宇宙奥秘
2018-05-10 04:36
只不过用硬币刮“这里”,不到3天!!五脏六腑的毒素竟然全排光了!便秘没了、气色也好了!效果太惊人。。。
2018-01-27 16:45
今日要闻
Dr. Martens联名X-GIRL释出霸气厚底系列!音乐人、潮流人都该来一双
真的来了!GD亲晒PEACEMINUSONE x Nike AF 1,白色“Para-Noise 2.0”超欠买!
adidas推出城市Online Run!王阳明、雷理莎脚踩Supernova、Boston 9限定鞋畅跑信义区
德国鞋履品牌Trippen秋冬新入荷!经典&创新任你选!
阿部千登势再推神作!sacai x Nike Vaporwaffle联名释出,四款新色攻陷你的荷包!
还有机会入手!Off-White x Air Jordan 5“色违”版本联名鞋即将开卖
Joel Embiid首代签名篮球鞋“UA Embiid One”台湾正式发售
Dr. Martens经典再进化!Heritage Distortion系列“双黄线”震撼登陆