漏洞信息详情
Amarok 程序audibletag.cpp函数Audible::Tag::readTag 多个拒绝服务和代码执行漏洞
- CNNVD编号:CNNVD-200901-199
- 危害等级: 超危
- CVE编号: CVE-2009-0136
- 漏洞类型: 数字错误
- 发布时间: 2009-01-16
- 威胁类型: 远程
- 更新时间: 2009-04-02
- 厂 商: amarok
- 漏洞来源: Tobias Klein
漏洞简介
Amarok是Linux/Unix平台下的音乐播放器。
Amarok在解析畸形的Audible数字音频文件时存在多个整数溢出和未检查的内存分配漏洞,远程攻击者可以利用这些漏洞执行任意代码。
以下是amarok-2.0\src\metadata\audible\audibletag.cpp中有漏洞的代码段:
[...]
140 bool Audible::Tag::readTag( FILE *fp, char **name, char **value)
141 {
142 quint32 nlen;
143 [1] if ( fread(&nlen, sizeof(nlen), 1, fp) != 1 )
144 return false;
145
146 nlen = ntohl(nlen);
147 //fprintf(stderr, \"tagname len=\\%x\n\", (unsigned)nlen);
148 [2] *name = new char[nlen+1];
149 [4] (*name)[nlen] = \'\'\0\'\';
150
151 quint32 vlen;
152 [5] if ( fread(&vlen, sizeof(vlen), 1, fp) != 1 )
153 {
154 delete [] *name;
155 *name = 0;
156 return false;
157 }
159 vlen = ntohl(vlen);
160 //fprintf(stderr, \"tag len=\\%x\n\", (unsigned)vlen);
162 [3] if ( fread(*name, nlen, 1, fp) != 1 )
163 {
164 delete [] *name;
165 *name = 0;
166 return false;
167 }
169 [6] *value = new char[vlen+1];
170 [8] (*value)[vlen] = \'\'\0\'\';
171
172 [7] if ( fread(*value, vlen, 1, fp) != 1 )
173 {
174 delete [] *value;
175 *value = 0;
176 return false;
177 }
178
[...]
可导致堆溢出的整数溢出#1:
[1] 从媒体文件获得用户定义的值并存储在无符int型变量nlen中。
[2] 该行分配了nlen+1字节的堆缓冲区。如果对nlen提供了0xffffffff值,就可以触发整数溢出,导致分配很小的堆缓冲区。
[3]将用户控制值nlen用作了长度标识符以将媒体文件中用户控制的数据拷贝到name所指向的之前分配的堆缓冲区。由于nlen值很大(0xffffffff),媒体文件中的用户控制数据覆盖了堆缓冲区。
可导致内存破坏的未经检查内存分配漏洞#1:
[2]+[4]这段代码没有检查新的[]语句所返回的空指针,然后用户控制的nlen值引用了所生成指针并为引用的位置分配了8位值0x00。可利用这个漏洞通过1-字节值0x00覆盖任意内存位置。
可导致堆溢出的整数溢出#2:
[5] 从媒体文件获得用户定义的值并存储在无符int型变量vlen中。
[6] 该行分配了vlen+1字节的堆缓冲区。如果对vlen提供了0xffffffff值,就可以触发整数溢出,导致分配很小的堆缓冲区。
[7]将用户控制值vlen用作了长度标识符以将媒体文件中用户控制的数据拷贝到name所指向的之前分配的堆缓冲区。由于vlen值很大(0xffffffff),媒体文件中的用户控制数据覆盖了堆缓冲区。
可导致内存破坏的未经检查内存分配漏洞#2:
[6]+[8]这段代码没有检查新的[]语句所返回的空指针,然后用户控制的nlen值引用了所生成指针并为引用的位置分配了8位值0x00。可利用这个漏洞通过1-字节值0x00覆盖任意内存位置。
漏洞公告
目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
http://amarok.kde.org/de/node/600
参考网址
来源: FEDORA
名称: FEDORA-2009-0715
链接:https://www.redhat.com/archives/fedora-package-announce/2009-January/msg00708.HTML
来源: bugzilla.redhat.com
链接:https://bugzilla.redhat.com/show_bug.cgi?id=479946
来源: bugzilla.redhat.com
链接:https://bugzilla.redhat.com/show_bug.cgi?id=479560
来源: UBUNTU
名称: USN-739-1
链接:http://www.ubuntu.com/usn/USN-739-1
来源: SECTRACK
名称: 1021558
链接:http://www.securitytracker.com/id?1021558
来源: BID
名称: 33210
链接:http://www.securityfocus.com/bid/33210
来源: BUGTRAQ
名称: 20090111 [TKADV2009-002] Amarok Integer Overflow and Unchecked Allocation Vulnerabilities
链接:http://www.securityfocus.com/archive/1/archive/1/499984/100/0/threaded
来源: MANDRIVA
名称: MDVSA-2009:030
链接:http://www.mandriva.com/security/advisories?name=MDVSA-2009:030
来源: VUPEN
名称: ADV-2009-0100
链接:http://www.frsirt.com/english/advisories/2009/0100
来源: DEBIAN
名称: DSA-1706
链接:http://www.debian.org/security/2009/dsa-1706
来源: websvn.kde.org
链接:http://websvn.kde.org/?view=rev&revision=908415
来源: websvn.kde.org
链接:http://websvn.kde.org/?view=rev&revision=908401
来源: websvn.kde.org
链接:http://websvn.kde.org/?view=rev&revision=908391
来源: MISC
链接:http://trapkit.de/advisories/TKADV2009-002.txt
来源: SREASON
名称: 4915
链接:http://securityreason.com/securityalert/4915
来源: GENTOO
名称: GLSA-200903-34
链接:http://security.gentoo.org/glsa/glsa-200903-34.xml
来源: SECUNIA
名称: 34407
链接:http://secunia.com/advisories/34407
来源: SECUNIA
名称: 34315
链接:http://secunia.com/advisories/34315
来源: SECUNIA
名称: 33819
链接:http://secunia.com/advisories/33819
来源: SECUNIA
名称: 33640
链接:http://secunia.com/advisories/33640
来源: SECUNIA
名称: 33522
链接:http://secunia.com/advisories/33522
来源: SECUNIA
名称: 33505
链接:http://secunia.com/advisories/33505
来源: MLIST
名称: [oss-security] 20090114 CVE Request -- amarok
链接:http://openwall.com/lists/oss-security/2009/01/14/2
来源: SUSE
名称: SUSE-SR:2009:003
链接:http://lists.opensuse.org/opensuse-security-announce/2009-02/msg00000.HTML
来源: bugs.gentoo.org
链接:http://bugs.gentoo.org/show_bug.cgi?id=254896
来源: amarok.kde.org
链接:http://amarok.kde.org/en/releases/2.0.1.1
受影响实体
- Amarok Amarok:2.0
- Amarok Amarok:2.0.1
- Amarok Amarok:1.4.10
补丁
暂无
![weinxin](http://zone.ci/zone_ci_images/zone.ci.png)
评论