安全研究
安全漏洞
libaudiofile库msadpcm.c WAV文件处理缓冲区溢出漏洞
发布日期:2008-12-30
更新日期:2008-12-31
受影响系统:Michael Pruett Audio File Library 0.2.6
描述:
BUGTRAQ ID:
33066
CVE(CAN) ID:
CVE-2008-5824
Audio File Library库(libaudiofile)可为访问各种音频文件格式提供统一的API。
libaudiofile库在试图解码WAV文件时msadpcm.c的194行写过了缓冲区:
code = *encoded >> 4;
newSample = ms_adpcm_decode_sample(state[0], code,
coefficient[0]);
*decoded++ = newSample;
所分配的缓冲区大小主要取决于以下公式:
bufsize = outc->nframes * _af_format_frame_size(&outc->f, AF_TRUE);
由于msadpcm模块没有实现max_pull callback,outc->nframes主要来自于_AF_ATOMIC_NVFRAMES(1024),这导致在modules.c的2539行分配了4096字节(帧大小为4)。
在ms_adpcm_decode_block()中,msadpcm->samplesPerBlock设置为2036,outputLength为8144,很明显这超出了所分配的4096字节的缓冲区。
<*来源:Anton Khirnov
链接:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510205
http://musicpd.org/mantis/print_bug_page.php?bug_id=1915
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://filebin.ca/meqmyu/max_theme.wav建议:
厂商补丁:
Michael Pruett
--------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.68k.org/~michael/audiofile/浏览次数:3041
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |