Amarok 程序audibletag.cpp函数Audible::Tag::readTag 多个整数溢出和代码执行漏洞

admin 2022-07-23 11:47:57 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Amarok 程序audibletag.cpp函数Audible::Tag::readTag 多个整数溢出和代码执行漏洞

  • CNNVD编号:CNNVD-200901-198
  • 危害等级: 中危
  • CVE编号: CVE-2009-0135
  • 漏洞类型: 缓冲区溢出
  • 发布时间: 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 } 158 159 vlen = ntohl(vlen); 160 //fprintf(stderr, \"tag len=\\%x\n\", (unsigned)vlen); 161 162 [3] if ( fread(*name, nlen, 1, fp) != 1 ) 163 { 164 delete [] *name; 165 *name = 0; 166 return false; 167 } 168 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
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0