首页 -> 安全研究

安全研究

安全漏洞
MPlayer MMST流栈远程溢出漏洞

发布日期:2004-12-15
更新日期:2004-12-17

受影响系统:
MPlayer MPlayer 1.0 pre5
描述:
BUGTRAQ  ID: 11962

MPlayer是一款基于Linux的电影播放程序,支持多种媒体格式。

MPlayer包含的/libmpdemux/asf_mmst_straming.c缺少充分的边界缓冲区检查,远程攻击者可以利用这个漏洞以进程权限执行任意指令。

问题存在于/libmpdemux/asf_mmst_straming.c中的get_data()函数,如果构建一个特殊的 超大长度值的数据给mplayer解析,可发生缓冲区溢出,代码如下:

static int get_media_packet (int s, int padding, streaming_ctrl_t *stream_ctrl) {  unsigned char  pre_header[8];  char           data[BUF_SIZE];  [...]    packet_len = get_32 ((unsigned char*)&packet_len, 0) + 4;


[!]    if (!get_data (s, data, packet_len)) {      printf ("command data read failed\n");      return 0;    }[...]

精心构建文件数据可能以进程权限执行任意指令。

<*来源:iDEFENSE Security Advisory (labs@idefense.com
  
  链接:http://www.idefense.com/application/poi/display?id=167&type=vulnerabilities
*>

建议:
厂商补丁:

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

http://www1.mplayerhq.hu/MPlayer/patches/mmst_fix_20041215.diff

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