68K libaudiofile库msadpcm.c WAV文件处理缓冲区溢出漏洞 CVE-2008-5824 CNNVD-200901-019

6.8 AV AC AU C I A
发布: 2009-01-02
修订: 2010-03-26

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字节的缓冲区。

0%
当前有5条漏洞利用/PoC
当前有1条受影响产品信息