安全研究

安全漏洞
libcdaudio cddb.c远程堆溢出漏洞

发布日期:2008-11-05
更新日期:2008-11-11

受影响系统:
libcdaudio libcdaudio 0.99.12 p2
描述:
BUGTRAQ  ID: 32122
CVE(CAN) ID: CVE-2008-5030

libcdaudio是用于控制音频CD的可移植函数库。

libcdaudio库的cddb.c文件中的cddb_read_disc_data函数在解析超长CDDB数据时存在堆溢出漏洞:

--- src/cddb.c
+++ src/cddb.c
@@ -1679,7 +1679,7 @@ cddb_read_disc_data(int cd_desc, struct disc_data
*outdata)
       free(file);

       while(!feof(cddb_data)) {
-       fgets(inbuffer, 512, cddb_data);
+       fgets(inbuffer, 256, cddb_data);
        cddb_process_line(inbuffer, data);
       }

如果用户受骗加载了恶意的音频文件的话,就可能触发这个溢出,导致执行任意指令。

<*来源:Thomas Biege (thomas@suse.de
  
  链接:http://permalink.gmane.org/gmane.comp.security.oss.general/1137
        http://sourceforge.net/tracker/index.php?func=detail&aid=1288043&group_id=27134&atid=389442
        http://www.debian.org/security/2008/dsa-1665
        http://security.gentoo.org/glsa/glsa-200903-31.xml
*>

建议:
厂商补丁:

Debian
------
Debian已经为此发布了一个安全公告(DSA-1665-1)以及相应补丁:
DSA-1665-1:New libcdaudio packages fix arbitrary code execution
链接:http://www.debian.org/security/2008/dsa-1665

补丁下载:
Source archives:

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio_0.99.12p2-2+etch1.dsc
Size/MD5 checksum:      637 4edcf130e77084b440f551d9a9afdc3a
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio_0.99.12p2-2+etch1.diff.gz
Size/MD5 checksum:    17703 6e523c81ea161401162d39d981e27cf2
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio_0.99.12p2.orig.tar.gz
Size/MD5 checksum:   356047 15de3830b751818a54a42899bd3ae72c

alpha architecture (DEC Alpha)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_alpha.deb
Size/MD5 checksum:    53334 1dc4587c71e25acb6b2dfd305de703e2
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_alpha.deb
Size/MD5 checksum:    70916 83fa3fc0e729bba0a3319745960dc81a

amd64 architecture (AMD x86_64 (AMD64))

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_amd64.deb
Size/MD5 checksum:    46040 a75b35f50ad88e2b1ee36d0a3266406a
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_amd64.deb
Size/MD5 checksum:    50674 7baf7f19121adeb98bb2a0afacf7cf27

arm architecture (ARM)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_arm.deb
Size/MD5 checksum:    43132 ff9d61d012abc44a459eac7350cfb46a
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_arm.deb
Size/MD5 checksum:    46664 3e023f637034444d6b8217bff8867f77

i386 architecture (Intel ia32)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_i386.deb
Size/MD5 checksum:    44708 87710ccd10182a65bae04f90071e56a1
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_i386.deb
Size/MD5 checksum:    46326 601bdafb162a116affa4111e3322caed

ia64 architecture (Intel ia64)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_ia64.deb
Size/MD5 checksum:    64314 65aa3e3f94daad3963d28214c4f36e7d
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_ia64.deb
Size/MD5 checksum:    73338 3ac92a48b4c0e7ac41b3307453a5ffcc

mips architecture (MIPS (Big Endian))

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_mips.deb
Size/MD5 checksum:    56370 1539c8ca203536ef7199144c8ad95855
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_mips.deb
Size/MD5 checksum:    44942 25f255285e3fea6dc44f8e0637f54b84

mipsel architecture (MIPS (Little Endian))

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_mipsel.deb
Size/MD5 checksum:    56114 3e94f1d9586cfac7b25bc3b5f7dd604d
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_mipsel.deb
Size/MD5 checksum:    45066 8323996086dd5a88a0877b6047fc9163

powerpc architecture (PowerPC)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_powerpc.deb
Size/MD5 checksum:    51406 f34b4f764921545c487bdde8f7af47ed
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_powerpc.deb
Size/MD5 checksum:    46432 3f65b0704dbb59ff502376d84ba58be3

s390 architecture (IBM S/390)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_s390.deb
Size/MD5 checksum:    50238 c1bbc7d605a19ca7d806a81a3dd605f7
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_s390.deb
Size/MD5 checksum:    47156 6cb47c376172882afcd25f75387025e6

sparc architecture (Sun SPARC/UltraSPARC)

http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio-dev_0.99.12p2-2+etch1_sparc.deb
Size/MD5 checksum:    46930 15e80ffff1a35904512d088476a99a50
http://security.debian.org/pool/updates/main/libc/libcdaudio/libcdaudio1_0.99.12p2-2+etch1_sparc.deb
Size/MD5 checksum:    42532 fff8099843f655f50c9caab7ebbcbad7

补丁安装方法:

1. 手工安装补丁包:

  首先,使用下面的命令来下载补丁软件:
  # wget url  (url是补丁下载链接地址)

  然后,使用下面的命令来安装补丁:  
  # dpkg -i file.deb (file是相应的补丁名)

2. 使用apt-get自动安装补丁包:

   首先,使用下面的命令更新内部数据库:
   # apt-get update
  
   然后,使用下面的命令安装更新软件包:
   # apt-get upgrade

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200903-31)以及相应补丁:
GLSA-200903-31:libcdaudio: User-assisted execution of arbitrary code
链接:http://security.gentoo.org/glsa/glsa-200903-31.xml

所有libcdaudio用户都可以升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=3Dmedia-libs/libcdaudio-0.99.12=-r1"

libcdaudio
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://sourceforge.net/tracker/download.php?group_id=27134&atid=389442&file_id=148743&aid=1288043

浏览次数:3344
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障