安全研究
安全漏洞
PeerCast HandshakeHTTP多个堆溢出漏洞
发布日期:2007-12-17
更新日期:2007-12-20
受影响系统:
Peercast Peercast SVN <= 344不受影响系统:
Peercast Peercast <= 0.1217
Peercast Peercast SVN 347描述:
Peercast Peercast 0.1218
BUGTRAQ ID: 26899
CVE(CAN) ID: CVE-2007-6454
PeerCast是一款简单易用的音频/视频流媒体服务器。
PeerCast的handshakeHTTP函数中存在堆溢出漏洞,允许攻击者用可控的数据填充Servent类中的loginPassword和loginMount缓冲区,远程攻击者可能利用此漏洞控制服务器。
servhs.cpp文件中的漏洞代码如下:
void Servent::handshakeHTTP(HTTP &http, bool isHTTP)
{
char *in = http.cmdLine;
...
}else if (http.isRequest("SOURCE"))
{
if (!isAllowed(ALLOW_BROADCAST))
...
mount = in+strlen(in);
while (*--mount)
if (*mount == '/')
{
mount[-1] = 0; // password preceeds
break;
}
strcpy(loginPassword,in+7);
..
if (mount)
strcpy(loginMount,mount);
...
ALLOW_BROADCAST(peercast.ini中allowBroadcast)是默认启用的。
<*来源:Luigi Auriemma (aluigi@pivx.com)
链接:http://aluigi.altervista.org/adv/peercasthof-adv.txt
http://www.debian.org/security/2007/dsa-1441
http://security.gentoo.org/glsa/glsa-200801-22.xml
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
建议:
厂商补丁:
Debian
------
Debian已经为此发布了一个安全公告(DSA-1441-1)以及相应补丁:
DSA-1441-1:New peercast packages fix arbitrary code execution
链接:http://www.debian.org/security/2007/dsa-1441
补丁下载:
Source archives:
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0.dsc
Size/MD5 checksum: 778 153071edd20929f6113345ed9d127853
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314.orig.tar.gz
Size/MD5 checksum: 534016 d9e83aa7e66f4d3b160d7c4c8b2a3a4f
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0.diff.gz
Size/MD5 checksum: 6276 2f7264e5f9bdff6eb74cfe6b26496534
Architecture independent packages:
http://security.debian.org/pool/updates/main/p/peercast/peercast-handlers_0.1217.toots.20060314-1etch0_all.deb
Size/MD5 checksum: 6644 8063dd0125fdc41505554387b433fa91
alpha architecture (DEC Alpha)
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_alpha.deb
Size/MD5 checksum: 185238 e6727bfa5734599c9d8598eb35c38b50
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_alpha.deb
Size/MD5 checksum: 2708 e271b1e81f1cddd88c8beb756e1d9ff9
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_alpha.deb
Size/MD5 checksum: 427462 42d67daab29e4e6fb061492530d811d0
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_alpha.deb
Size/MD5 checksum: 50968 d9d1ae47b219b144acde71b19d550cff
amd64 architecture (AMD x86_64 (AMD64))
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_amd64.deb
Size/MD5 checksum: 2710 3f4ed56979f0a071eb32a0b7d06d06ad
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_amd64.deb
Size/MD5 checksum: 171950 b7861763bffb0c495e96e3bb23155e4e
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_amd64.deb
Size/MD5 checksum: 323544 17c96525ac00cbfe172c6dbf78495649
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_amd64.deb
Size/MD5 checksum: 50586 73d27cd6c28cbf5fd6e8bd29645e6e7d
arm architecture (ARM)
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_arm.deb
Size/MD5 checksum: 356696 a520840ed0d8171d835cbaf955cf01f4
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_arm.deb
Size/MD5 checksum: 2718 cad527982f80853a6f863f48f0d6c1e3
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_arm.deb
Size/MD5 checksum: 185540 83855ea3b6d57b2284179e314bcc0701
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_arm.deb
Size/MD5 checksum: 50508 527bfe5a016e4665a24cd8066bb292ab
hppa architecture (HP PA RISC)
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_hppa.deb
Size/MD5 checksum: 2710 2b83cd039358795debe4b94fe2a9e4fc
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_hppa.deb
Size/MD5 checksum: 201640 6cabef5e653b9c811c9324068c25f16e
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_hppa.deb
Size/MD5 checksum: 51278 0b328ad5515c9261657146000431192f
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_hppa.deb
Size/MD5 checksum: 382980 06d696c930e2ec534dd26a8a6558ad47
i386 architecture (Intel ia32)
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_i386.deb
Size/MD5 checksum: 308254 0d33c207b1de65878488f3f39a832243
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_i386.deb
Size/MD5 checksum: 51176 d201c1ca50a5fb38270f1c5cd3cfee97
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_i386.deb
Size/MD5 checksum: 2706 9b9b95ec6b37a303611d78764734a8be
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_i386.deb
Size/MD5 checksum: 165772 0a77112f725d83a8202a18ba16ad6238
ia64 architecture (Intel ia64)
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_ia64.deb
Size/MD5 checksum: 52240 913229fd117819522655e160225877b8
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_ia64.deb
Size/MD5 checksum: 232744 3228a3e865cc928b3e74df54213fb9dc
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_ia64.deb
Size/MD5 checksum: 2710 8afa7cc1cc3eb1fe61baa326eb0715ca
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_ia64.deb
Size/MD5 checksum: 474076 5fb10a674c2e960f3595a0be07ade4ea
mips architecture (MIPS (Big Endian))
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_mips.deb
Size/MD5 checksum: 168382 514a39677a1f1d4fce6ef83ca13c8711
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_mips.deb
Size/MD5 checksum: 2708 fb25aca7da6078e8622761d8e32a867d
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_mips.deb
Size/MD5 checksum: 50758 b120d0b15034f776f22c0283dfe1f4a6
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_mips.deb
Size/MD5 checksum: 352124 b56cd6d28151d2739292e986be16b541
mipsel architecture (MIPS (Little Endian))
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_mipsel.deb
Size/MD5 checksum: 2708 0fb6f26b672798c5297847800c0072e9
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_mipsel.deb
Size/MD5 checksum: 50690 54c8d18ac6b806ca1c446f2db0c5551c
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_mipsel.deb
Size/MD5 checksum: 165618 7d05fa186e619746c0402d19de6204e1
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_mipsel.deb
Size/MD5 checksum: 347956 eca451021ffbe2716b08913e56146516
powerpc architecture (PowerPC)
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_powerpc.deb
Size/MD5 checksum: 51332 ee2f842285410715cf1b0cde52e9e228
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_powerpc.deb
Size/MD5 checksum: 179282 3719200c543846e79b265531086821ce
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_powerpc.deb
Size/MD5 checksum: 326136 b9c43fa4a7d93351e4d2122c1d20f297
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_powerpc.deb
Size/MD5 checksum: 2712 b943f1f9fb08444dfd957a160aabeaa9
s390 architecture (IBM S/390)
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_s390.deb
Size/MD5 checksum: 193570 46368dcf9097b87a33d43297b01f6ddf
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_s390.deb
Size/MD5 checksum: 2704 0c8599bd391e7e7f58b1ddf9611410c6
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_s390.deb
Size/MD5 checksum: 358188 9796b0f073a9cda57940ededb3539190
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_s390.deb
Size/MD5 checksum: 51072 78419b4a1e4bdf7fbb21046fc6e8df66
sparc architecture (Sun SPARC/UltraSPARC)
http://security.debian.org/pool/updates/main/p/peercast/peercast_0.1217.toots.20060314-1etch0_sparc.deb
Size/MD5 checksum: 2714 954c38e3ffeeda41108b81a34e4fd9c7
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0-dev_0.1217.toots.20060314-1etch0_sparc.deb
Size/MD5 checksum: 335528 1152e5ed239634eb1fe3c86185c0bd57
http://security.debian.org/pool/updates/main/p/peercast/peercast-servent_0.1217.toots.20060314-1etch0_sparc.deb
Size/MD5 checksum: 49864 37f0fbae6d44b97560f48395e5f8ce07
http://security.debian.org/pool/updates/main/p/peercast/libpeercast0_0.1217.toots.20060314-1etch0_sparc.deb
Size/MD5 checksum: 200202 d2a2f10914b13a92838ab4d67b1ad53f
补丁安装方法:
1. 手工安装补丁包:
首先,使用下面的命令来下载补丁软件:
# wget url (url是补丁下载链接地址)
然后,使用下面的命令来安装补丁:
# dpkg -i file.deb (file是相应的补丁名)
2. 使用apt-get自动安装补丁包:
首先,使用下面的命令更新内部数据库:
# apt-get update
然后,使用下面的命令安装更新软件包:
# apt-get upgrade
Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200801-22)以及相应补丁:
GLSA-200801-22:PeerCast: Buffer overflow
链接:http://security.gentoo.org/glsa/glsa-200801-22.xml
所有PeerCast用户都应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=media-sound/peercast-0.1218"
Peercast
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.peercast.org/download.php
浏览次数:3619
严重程度:0(网友投票)
绿盟科技给您安全的保障
