安全研究
安全漏洞
id3lib ID3标签远程溢出漏洞
发布日期:2007-12-19
更新日期:2007-12-21
受影响系统:id3lib id3lib CVS
描述:
BUGTRAQ ID:
26945
id3lib是用于处理音频文件中ID3标签的函数库。
id3lib库在处理畸形格式的数据时存在漏洞,远程攻击者可能利用此漏洞诱使用户处理恶意文件控制用户系统。
id3lib的extflags数组只有1个单元的大小,但extflagbytes可支持0到255个单元。因此,extflagbytes为0会导致崩溃,因为之后的指令会认为extflags[0]已初始化,使用较大的值就会溢出这个数组。
header_tag.cpp中代码如下:
void ID3_TagHeader::ParseExtended(ID3_Reader& reader)
...
const int extflagbytes = reader.readChar(); //Number of flag bytes
ID3_Flags* extflags[1]; // ID3V2_4_0 has 1 flag byte, extflagbytes
should be equal to 1 for (i = 0; i < extflagbytes; ++i)
{
extflags[i] = new ID3_Flags;
extflags[i]->set(reader.readChar()); //flags
}
<*来源:Luigi Auriemma (
aluigi@pivx.com)
链接:
http://marc.info/?l=bugtraq&m=119808766110015&w=2#0
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://aluigi.org/poc/id3libexec.zip建议:
厂商补丁:
id3lib
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.id3lib.org/浏览次数:2597
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |