| |
您现在的位置: 猫头鹰病毒资讯网 >> 系统安全 >> 系统安全 >> 文章正文 |
| MPlayer DMO文件解析堆溢出漏洞 |
| 作者:佚名 文章来源:网络收集 点击数: 更新时间:2007-9-28 |
MPlayer DMO 描述: MPlayer DMO文件解析堆溢出漏洞 详细: MPlayer是一款基于Linux的媒体播放程序,支持多种媒体格式。
MPlayer在处理畸形DMO文件时存在缓冲区溢出漏洞,远程攻击者可能通过诱使用户打开恶意DMO文件控制用户机器。
MPlayer的loader/dmo/DMO_VideoDecoder.c文件中的DMO_VideoDecoder()函数在解析特制的视频文件时存在堆溢出漏洞。format->biSize变量直接从视频文件获得其值,最大可为LONG_MAX。在136行没有执行任何检查便将所获得的值用作了memcpy()调用的长度参数,这可能导致用视频文件中的数据溢出this->m_sVhdr->bmiHeader缓冲区。此外loader/dshow/DS_VideoDecoder.c文件的DS_VideoDecoder_Open()函数也存在类似的漏洞。
117unsigned int bihs; 118 119bihs = (format->biSize < (int) sizeof(BITMAPINFOHEADER)) ? 120 sizeof(BITMAPINFOHEADER) : format->biSize; 121 122this->iv.m_bh = malloc(bihs); 123memcpy(this->iv.m_bh, format, bihs); 124 125this->iv.m_State = STOP; 126//this->iv.m_pFrame = 0; 127this->iv.m_Mode = DIRECT; 128this->iv.m_iDecpos = 0; 129this->iv.m_iPlaypos = -1; 130this->iv.m_fQuality = 0.0f; 131this->iv.m_bCapable16b = true; 132 133bihs += sizeof(VIDEOINFOHEADER) - sizeof(BITMAPINFOHEADER); 134this->m_sVhdr = malloc(bihs); 135memset(this->m_sVhdr, 0, bihs); 136memcpy(&this->m_sVhdr->bmiHeader, this->iv.m_bh, this->iv.m_bh->biSize);
<*来源:Moritz Jodeit (moritz@jodeit.org)
链接:(http://secunia.com/advisories/24444/ (http://lists.grok.org.uk/pipermail/full-disclosure/2007-March/052738.html (http://secunia.com/advisories/24443/ *>
受影响系统: MPlayer MPlayer 1.0 rc1 攻击方法: 暂无有效攻击代码 解决方案: 厂商补丁:
MPlayer ------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
(http://svn.mplayerhq.hu/mplayer/trunk/loader/dmo/DMO_VideoDecoder.c?r1=22019&r2=22204
|
|
|
|
|
|
|
|
|
|