安全研究

安全漏洞
Sumatra PDF和MuPDF 'lex_number()'函数远程整数溢出漏洞

发布日期:2012-12-09
更新日期:2012-12-11

受影响系统:
Sumatra PDF Sumatra PDF
描述:
BUGTRAQ  ID: 56875
CVE(CAN) ID: CVE-2012-5340

Sumatra PDF是自由的、开源PDF阅读器。MuPDF是自由的、开源软件库,是解析、呈现PDF和XPS的引擎。

Sumatra PDF、MuPDF在lex_number()函数内存在溢出错误,通过特制的PDF文件,可触发整数溢出,造成拒绝服务或执行任意代码。

<*来源:beford (xbefordx@gmail.com
  
  链接:http://www.osvdb.org/show/osvdb/88305
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

static int lex_number(fz_stream *f, pdf_lexbuf *buf, int c)
{
        .....

        while (1)
        {
                int c = fz_read_byte(f);
                switch (c)
                {
                case '.':
                        goto loop_after_dot;
                case RANGE_0_9:
                        i = 10*i + c - '0';
                        /* FIXME: Need overflow check here; do we care? */
                        break;
                default:
                        fz_unread_byte(f);
                        /* Fallthrough */
                case EOF:
                        if (neg)
                                i = -i;
                        buf->i = i;
                        return PDF_TOK_INT;
                }
        }

建议:
厂商补丁:

Sumatra PDF
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://blog.kowalczyk.info/software/sumatrapdf/index.html

浏览次数:3928
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障