安全研究

安全漏洞
xine-lib rmff_dump_cont()远程堆溢出漏洞

发布日期:2008-01-09
更新日期:2008-01-10

受影响系统:
xine xine-lib <= 1.1.9
描述:
BUGTRAQ  ID: 27198
CVE(CAN) ID: CVE-2008-0225

xine是一款免费的媒体播放器,支持多种格式。

xine处理畸形格式的数据时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。

xine的input/libreal/rmff.c文件中的rmff_dump_cont()函数没有正确地处理SDP Title、Author、Copyright和Abstract属性,如果用户受骗连接到了恶意的RTSP服务器的话,就可能触发堆溢出,导致执行任意指令。以下是input/libreal/rmff.c中的漏洞代码:

int rmff_dump_header(rmff_header_t *h, char *buffer, int max) {

  int written=0;
  rmff_mdpr_t **stream=h->streams;

  rmff_dump_fileheader(h->fileheader, &buffer[written]);
  written+=h->fileheader->size;
  rmff_dump_prop(h->prop, &buffer[written]);
  written+=h->prop->size;
  rmff_dump_cont(h->cont, &buffer[written]);
  written+=h->cont->size;
  if (stream)
  {
    while(*stream)
    {
      rmff_dump_mdpr(*stream, &buffer[written]);
      written+=(*stream)->size;
      stream++;
    }
  }
    
  rmff_dump_dataheader(h->data, &buffer[written]);
  written+=18;

  return written;
}

<*来源:Luigi Auriemma (aluigi@pivx.com
  
  链接:http://secunia.com/advisories/28384/
        http://aluigi.altervista.org/adv/xinermffhof-adv.txt
        http://security.gentoo.org/glsa/glsa-200801-12.xml
*>

测试方法:

警 告

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

a=Abstract:buffer;"QUFBQUFBQUFBQUFBQUFB...40000_of_QUFBQUFB's...FBQUFB

建议:
厂商补丁:

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200801-12)以及相应补丁:
GLSA-200801-12:xine-lib: User-assisted execution of arbitrary code
链接:http://security.gentoo.org/glsa/glsa-200801-12.xml

所有xine-lib用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=media-libs/xine-lib-1.1.9.1"

xine
----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://xinehq.de/

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