安全研究
安全漏洞
MPlayer bitmap解析远程堆溢出漏洞
发布日期:2004-12-15
更新日期:2004-12-17
受影响系统:MPlayer MPlayer 1.0 pre5
描述:
BUGTRAQ ID:
11987
MPlayer是一款基于Linux的电影播放程序,支持多种媒体格式。
MPlayer包含的/libmpdemux/demux_bmp.c中的demux_open_bmp()函数缺少充分的边界缓冲区检查,远程攻击者可以利用这个漏洞以进程权限执行任意指令。
问题存在于/libmpdemux/demux_bmp.c中的demux_open_bmp()函数,如果构建一个特殊的文件,指定超大长度值给"biClrUsed"字段,当mplayer解析时,stream_read()可触发堆溢出,代码如下:
demuxer_t* demux_open_bmp(demuxer_t* demuxer){ sh_video_t *sh_video = NULL; unsigned int filesize; unsigned int data_offset; bmp_image_t *bmp_image; ... sh_video->bih->biClrUsed = stream_read_dword_le(demuxer->stream); sh_video->bih->biClrImportant = stream_read_dword_le(demuxer->stream); // fetch the palette[!] stream_read(demuxer->stream, (unsigned char *)(sh_video->bih) + 40, sh_video->bih->biClrUsed * 4); ...
精心构建文件数据可能以进程权限执行任意指令。
<*来源:iDEFENSE Security Advisory (
labs@idefense.com)
链接:
http://www.idefense.com/application/poi/display?id=168&type=vulnerabilities
*>
建议:
厂商补丁:
MPlayer
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载补丁:
http://www1.mplayerhq.hu/MPlayer/patches/bmp_fix_20041215.diff浏览次数:2574
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |