安全研究
安全漏洞
FishSound库远程Speex解码代码执行漏洞
发布日期:2008-04-07
更新日期:2008-04-11
受影响系统:
CSIRO FishSound <= 0.9.0不受影响系统:
CSIRO FishSound 0.9.1描述:
BUGTRAQ ID: 28665
CVE(CAN) ID: CVE-2008-1686
fishsound库提供一个编程接口,允许使用Xiph.Org codec(FLAC、Speex和Vorbis)编码和解码音频数据。
fishsound库所使用的Speex库在处理Speex头时存在数组索引错误,如果特制的Speex流在头中包含有负数的modeID字段的话就可能导致执行任意指令。
Speex头中包含有32位的modeID字段,libspeex将其解释为有符的int型(spx_int32_t)。正常的使用方法是索引到全局模式列表以检索SpeexMode *:
mode = (SpeexMode *)speex_mode_list[modeID];
然后创建解码器:
st = speex_decoder_init(mode);
这会在libspeex中调用speex_decoder_init(),类似于:
void *speex_decoder_init(const SpeexMode *mode)
{
return mode->dec_init(mode);
}
因此如果没有保证流头中所给出的modeID处于speex_mode_list[]范围中,就会导致执行任意指令。fishsound检查了上边界(modeID < SPEEX_NB_MODES),但没有检查负数值。
<*来源:Conrad Parker (conrad@metadecks.org)
链接:http://secunia.com/advisories/29727/
http://blog.kfish.org/2008/04/release-libfishsound-091.html
http://www.ocert.org/advisories/ocert-2008-2.html
http://lists.xiph.org/pipermail/speex-dev/2008-April/006636.html
http://security.gentoo.org/glsa/glsa-200804-17.xml
http://www.debian.org/security/2008/dsa-1586
http://www.debian.org/security/2008/dsa-1584
*>
建议:
厂商补丁:
Debian
------
Debian已经为此发布了一个安全公告(DSA-1584-1)以及相应补丁:
DSA-1584-1:New libfissound packages fix execution of arbitrary
链接:http://www.debian.org/security/2008/dsa-1584
补丁下载:
Source archives:
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound_0.7.0.orig.tar.gz
Size/MD5 checksum: 426487 00ece8c9a0363b37957ce670bcf270d3
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound_0.7.0-2etch1.dsc
Size/MD5 checksum: 659 d72d4922c70c6bb10dff6ace5a814455
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound_0.7.0-2etch1.diff.gz
Size/MD5 checksum: 16054 c5842b27bd7a05ef9bd26e701dfc56dc
alpha architecture (DEC Alpha)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_alpha.deb
Size/MD5 checksum: 34582 9ef817deb3b892d9fa9f7fdc4a94e6a5
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_alpha.deb
Size/MD5 checksum: 15304 eed92cc88865ae99cc768c0a7b33019c
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_alpha.deb
Size/MD5 checksum: 7740 57cd0eae0976b9d78be65d0aeba32a3e
amd64 architecture (AMD x86_64 (AMD64))
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_amd64.deb
Size/MD5 checksum: 30786 64fd312521a927ceb867f63e5f4734a5
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_amd64.deb
Size/MD5 checksum: 7794 8fb36c5bdd40a8dc5c370802da6ec050
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_amd64.deb
Size/MD5 checksum: 14334 a6845973bc2f61f4783710a5797e5484
arm architecture (ARM)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_arm.deb
Size/MD5 checksum: 29224 35d4c9d5a750ba8dd53ba6fd5bb248df
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_arm.deb
Size/MD5 checksum: 12462 6693b054221d19c6da6c2069466ef7dc
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_arm.deb
Size/MD5 checksum: 7882 560e18366ae1e15d5aef32855f0ab731
hppa architecture (HP PA RISC)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_hppa.deb
Size/MD5 checksum: 15162 68e6bc1466fcfa4d73edb3d760a9e5b8
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_hppa.deb
Size/MD5 checksum: 7802 5922374807b136070b2f002ba716807f
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_hppa.deb
Size/MD5 checksum: 31662 3c9fbc584f7942ff0ea88dd27daebbfd
i386 architecture (Intel ia32)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_i386.deb
Size/MD5 checksum: 29344 74a5b956c3dc3450f3da2ec91dcf2a34
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_i386.deb
Size/MD5 checksum: 13384 559730ed3949728fc0dcf77d19a05712
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_i386.deb
Size/MD5 checksum: 7614 c2b9b6a8343bda423068fa8965411bf6
ia64 architecture (Intel ia64)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_ia64.deb
Size/MD5 checksum: 7832 dfc5dbc81fb32225763581dbd7c04b9b
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_ia64.deb
Size/MD5 checksum: 18426 e0adf330dba7d6cc800de96e24897ccf
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_ia64.deb
Size/MD5 checksum: 35658 671ac1c23579b0274ee4d11837ceaea1
mips architecture (MIPS (Big Endian))
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_mips.deb
Size/MD5 checksum: 8192 d2f144651551538d9eb7364408000d93
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_mips.deb
Size/MD5 checksum: 13568 c21ca7014120fb083d014adbb0a4b33f
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_mips.deb
Size/MD5 checksum: 31578 4da77e051c94377ace4e567f96f22b07
mipsel architecture (MIPS (Little Endian))
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_mipsel.deb
Size/MD5 checksum: 16532 7c41c702fd586b8eea66ecc57c742829
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_mipsel.deb
Size/MD5 checksum: 8742 948111077a371b6b79a6e176c8844a5b
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_mipsel.deb
Size/MD5 checksum: 35456 2baa784478f106c5cf10b4eaf003db8e
powerpc architecture (PowerPC)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_powerpc.deb
Size/MD5 checksum: 8984 df70ba8da43c86923cd88c74676ef9ef
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_powerpc.deb
Size/MD5 checksum: 15040 22e46a44ff17b0c1d60908cd0b61ccfc
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_powerpc.deb
Size/MD5 checksum: 31074 fa6ab24dcf4e23f52a8d67dcaf56e40f
s390 architecture (IBM S/390)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_s390.deb
Size/MD5 checksum: 31390 04834db2f07e1ea50eb590d95bc78dcd
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_s390.deb
Size/MD5 checksum: 14872 21e26171f0205856b65f6727a32b3edf
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_s390.deb
Size/MD5 checksum: 7540 fdc0a47c6522993232751be26725ce3b
sparc architecture (Sun SPARC/UltraSPARC)
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dbg_0.7.0-2etch1_sparc.deb
Size/MD5 checksum: 7686 8483df0677d953b7d10335a6063635fa
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1_0.7.0-2etch1_sparc.deb
Size/MD5 checksum: 12432 8c3643ab5a8cf220343e0e583d21b947
http://security.debian.org/pool/updates/main/libf/libfishsound/libfishsound1-dev_0.7.0-2etch1_sparc.deb
Size/MD5 checksum: 30008 3cf9fbcaf627dc07d64d2330b5149cce
补丁安装方法:
1. 手工安装补丁包:
首先,使用下面的命令来下载补丁软件:
# wget url (url是补丁下载链接地址)
然后,使用下面的命令来安装补丁:
# dpkg -i file.deb (file是相应的补丁名)
2. 使用apt-get自动安装补丁包:
首先,使用下面的命令更新内部数据库:
# apt-get update
然后,使用下面的命令安装更新软件包:
# apt-get upgrade
Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200804-17)以及相应补丁:
GLSA-200804-17:Speex: User-assisted execution of arbitrary code
链接:http://security.gentoo.org/glsa/glsa-200804-17.xml
所有Speex用户都应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=media-libs/speex-1.2_beta3_p2"
CSIRO
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.annodex.net/software/libfishsound/download/libfishsound-0.9.1.tar.gz
浏览次数:3168
严重程度:0(网友投票)
绿盟科技给您安全的保障
