漏洞与利用

jbig2dec-0.13 整数溢出导致的内存越界写漏洞(CVE-2017-7975)

issue传送门:https://bugs.ghostscript.com/show_bug.cgi?id=697693

简介:

jbig2dec是用于对JBIG2压缩图片文件进行解码的工具。这个crash是用AFL跑出来的,主要原因是:整数溢出导致访问数组的下标变成负数,从而绕过了对数组边界的检查,最终导致内存越界写的漏洞,造成拒绝服务攻击。由于写操作时目标地址和写入的值都是用户可以控制的,尽管要到达当前语句需满足一些约束,但存在内存(如返回地址/GOT)被修改从而进一步导致任意代码执行的可能。

漏洞分析:

crash发生在jbig2_build_huffman_table() @jbig2_huffman.c:442

crash_analysis

上述是一个大概的介绍,因为当时是用英文写的实在不想再翻译成中文了,而且这个crash也比较简单,就不赘述了。

官方补丁:

将start_j和end_j的类型从int修改为uint32_t

patch1

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s