CVE:CVE-2006-3668
CNNVD:CNNVD-200607-235
libmikmod是Mikmod所使用的函数库，主要用于播放各种类型的音频模块。
libmikmod在处理XCOM对象时存在堆溢出漏洞，远程攻击者可能利用此漏洞在客户机器上执行任意指令。
在处理XCOM块时libmikmod读取了用于指定标注大小的32位数字，然后分配等于该大小加1的内存，以容纳标注末尾可能的空字节。因此如果攻击者使用了0xffffffff值(0xffffffff + 1 = 0)的话，函数库就可能分配0字节的内存。然后在试图读取大小值所指定的内存数量时，就会导致堆溢出。
loaders/load_gt2.c中的漏洞代码：
GT_CHUNK *loadChunk(void)
    ...
    if (!memcmp(new_chunk, "XCOM", 4)) { 
        new_chunk->xcom.chunk_size = _mm_read_M_ULONG(modreader);
        new_chunk->xcom.comment_len = _mm_read_M_ULONG(modreader);
        new_chunk->xcom.comment = MikMod_malloc(new_chunk->xcom.comment_len + 1);
        _mm_read_UBYTES(new_chunk->xcom.comment, new_chunk->xcom.comment_len, modreader);
        return new_chunk;
    }
    ...
solution:Upgrade dynamic_universal_music_bibliotheque dumb to a higher version than 0.9.3,and avoid the version (,0.9.3]