BUGTRAQ ID: 29210
CVE(CAN) ID: CVE-2008-2109
libid3tag是MPEG音频解码器MAD中所捆绑的ID3标签操控库。
libid3tag库在解析ID3_FIELD_TYPE_STRINGLIST字段时如果所要解析的数据以\0结尾的话,**ptr == 0,但end - *ptr条件为1,所以循环会无限继续。
以下是有漏洞的代码段:
*** field.c 2003-04-19 09:14:33.000000000 +0900
— field-patched.c 2008-01-13 16:08:22.000000000 +0900
*** 291,297****
end = *ptr + length;
! while (end - *ptr > 0) {
ucs4 = id3_parse_string(ptr, end - *ptr, *encoding, 0);
if (ucs4 == 0)
goto fail;
— 291,297 ----
end = *ptr + length;
! while (end - *ptr > 0 && **ptr != ‘\0’) {
ucs4 = id3_parse_string(ptr, end - *ptr, *encoding, 0);
if (ucs4 == 0)
goto fail;
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
<a href=“http://www.underbit.com/” target=“_blank”>http://www.underbit.com/</a>