安全研究

安全漏洞
libid3tag拒绝服务漏洞

发布日期:2008-05-12
更新日期:2008-05-20

受影响系统:
Underbit Technologies libid3tag 0.15.0b
描述:
BUGTRAQ  ID: 29210
CVE(CAN) ID: CVE-2008-2109

libid3tag是MPEG音频解码器MAD中所捆绑的ID3标签操控库。

libid3tag库在解析ID3_FIELD_TYPE_STRINGLIST字段时如果所要解析的数据以\0结尾的话,**ptr == 0,但end - *ptr条件为1,所以循环会无限继续。

以下是有漏洞的代码段:

*** field.c    2003-04-19 09:14:33.000000000 +0900
--- field-patched.c    2008-01-13 16:08:22.000000000 +0900
***************
*** 291,297 ****

        end = *ptr + length;

!       while (end - *ptr > 0) {
      ucs4 = id3_parse_string(ptr, end - *ptr, *encoding, 0);
      if (ucs4 == 0)
        goto fail;
--- 291,297 ----

        end = *ptr + length;

!       while (end - *ptr > 0 && **ptr != '\0') {
      ucs4 = id3_parse_string(ptr, end - *ptr, *encoding, 0);
      if (ucs4 == 0)
        goto fail;

<*来源:Kentaro Oda (odaken@gmail.com
  
  链接:http://www.mars.org/mailman/public/mad-dev/2008-January/001366.html
        http://security.gentoo.org/glsa/glsa-200805-15.xml
*>

建议:
厂商补丁:

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200805-15)以及相应补丁:
GLSA-200805-15:libid3tag: Denial of Service
链接:http://security.gentoo.org/glsa/glsa-200805-15.xml

所有libid3tag用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=3Dmedia-libs/libid3tag-0.15.1b-=r2"

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