首页 -> 安全研究

安全研究

安全漏洞
MPlayer RTSP远程堆溢出漏洞

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

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

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

MPlayer包含的/libmpdemux/realrtsp/real.c在实现动态分配内存时存在问题,远程攻击者可以利用这个漏洞以进程权限执行任意指令。

问题代码如下:

rmff_header_t  *real_setup_and_get_header(rtsp_t *rtsp_session, uint32_tbandwidth) {  char *description=NULL;  char *session_id=NULL;  rmff_header_t *h;  char *challenge1;  char challenge2[64];  char checksum[34];  char *subscribe;  char *buf = xbuffer_init(256);  char *mrl=rtsp_get_mrl(rtsp_session);  unsigned int size;  int status;


[...]  if (!rtsp_search_answers(rtsp_session,"Content-length"))    printf("real: got no Content-length!\n");  else[!]  size=atoi(rtsp_search_answers(rtsp_session,"Content-length"));[...]  description=malloc(sizeof(char)*(size+1));
  if( rtsp_read_data(rtsp_session, description, size) <= 0) {      buf = xbuffer_free(buf);    return NULL;  }  description[size]=0;[...]}      

恶意服务器可以指定流的content-length为-1,由于只分配4字节而导致整数溢出,任意流数据拷贝到分配的内存时,可导致堆溢出,精心构建提交数据可能进程权限执行任意指令。

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

建议:
厂商补丁:

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

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

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