freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

漏洞预警:JPEG 2000某漏洞可执行任意代码
2016-10-08 19:33:04

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

漏洞编号

CVE-2016-8332

TALOS-2016-0193

影响版本

OpenJpeg openjp2 2.1.1

漏洞描述

最近思科的Talos安全团队披露了JPEG 2000的一个零日漏洞,该漏洞可以执行任意代码。OpenJPEG是一个开源的JPEG 2000解码器,而这个编码器是由C语言所编写。JPEG 2000常被用于解码交流系统中的PDF文档,比如PdFium, Poppler和MuPDF这些软件。现在,黑客可以通过邮件传输带有恶意payload的PDF文件或者JPEG 2000格式的图像来感染目标系统。甚至,黑客可以将恶意文件传输到公网资源内,让受害者下载,比如google drive,drop box等等的。

漏洞细节

漏洞主要位于src/lib/openjp2/j2k.c文件中的opj_j2k_read_mcc_record函数。这个文件是负责解析MCC记录的。

1.png

如果一个MCC被解析,那么接下来一个l_mcc_recprd 数组就会寻找一个合适的index进行迭代。如果没有找到index,那么就会执行下面的代码。

2.png

在第一个if语句中,如果没有找到index,并且l_tcp-> m_nb_max_mcc_records中的记录为最大值(才开始的最大值为10),那么就会继续增加最大值,并且重新分配内存,以便容下更多的记录。

4.png

如果MCC的记录为0,那样就永远跳出不这个循环,会一直停留在一个index上,达到一个无效的越界读写记录。如下面这个Valgrind输出为例子。

3.png

漏洞流程

2016年7月26日 – 向厂商披露

2016年9月29日 – 向公众披露

*参考来源:securityaffairs,漏洞盒子安全团队发布,ArthurKiller编译,转载请注明来自FreeBuf(FreeBuf.COM)

本文作者:, 转载请注明来自FreeBuf.COM

# JPEG 2000
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑