安全研究

安全漏洞
Newsx read_article()函数栈溢出漏洞

发布日期:2008-07-15
更新日期:2008-07-17

受影响系统:
newsx newsx 1.6
描述:
BUGTRAQ  ID: 30231
CVE(CAN) ID: CVE-2008-3252

NewsX NNTP客户端是一款用于访问Internet News服务器的程序。

NewsX处理畸形服务端回应数据时存在漏洞,如果运行NewsX获得新闻组的话,就可能触发栈溢出,导致客户端崩溃。

漏洞起因是在src/getarticle.c文件中:

static int
read_article(long where,char *group)
{
    char linebuf[MAX_HEADER_SIZE+1], *line;
    ...
    line=linebuf;
    ...
    for (;;) {
        if (!get_server_msg(line, MAX_HEADER_SIZE)) {
    ...
                if (line[1]=='.') {             /* escape-period, remove it */
                    line++;
                    len--;

如果行以“.”开始的话,line就会递增,大量的上述行会导致linebuf[]溢出,在栈上放置任意数据。

<*来源:Enrico Scholz (enrico.scholz@informatik.tuchemnitz.de
  
  链接:https://bugzilla.redhat.com/long_list.cgi?buglist=454483
        http://www.debian.org/security/2008/dsa-1622
*>

建议:
厂商补丁:

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

补丁下载:
Source archives:

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1.dsc
Size/MD5 checksum:      601 a96fab9796a6947419d0fa8b116117d1
http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6.orig.tar.gz
Size/MD5 checksum:   302553 45d7b7655c7e30c22321f41d701bb6f4
http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1.diff.gz
Size/MD5 checksum:   105510 6d0b8e91489284a99d7e3d1d1a18438a

alpha architecture (DEC Alpha)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_alpha.deb
Size/MD5 checksum:   179232 a1e5978150fdc4e85ae5429df50dce14

amd64 architecture (AMD x86_64 (AMD64))

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_amd64.deb
Size/MD5 checksum:   159000 36120414520dabbe24a603535483d627

arm architecture (ARM)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_arm.deb
Size/MD5 checksum:   148522 f86262e52e3cfe57f9149cd7d03b9792

hppa architecture (HP PA RISC)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_hppa.deb
Size/MD5 checksum:   166048 3664074d8015308faacfdc24813cbe2e

i386 architecture (Intel ia32)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_i386.deb
Size/MD5 checksum:   149314 0d0223be6ec9375b11a29271e14f0ba0

ia64 architecture (Intel ia64)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_ia64.deb
Size/MD5 checksum:   229656 d9525b17ed531e7f94bf795016559ab0

mips architecture (MIPS (Big Endian))

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_mips.deb
Size/MD5 checksum:   169628 9902b13a40be1f8839ea6553bebda796

mipsel architecture (MIPS (Little Endian))

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_mipsel.deb
Size/MD5 checksum:   169130 082f47df05acf04de8a1590acad38124

powerpc architecture (PowerPC)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_powerpc.deb
Size/MD5 checksum:   158742 f172b7b889f111cc2090082878f80816

s390 architecture (IBM S/390)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_s390.deb
Size/MD5 checksum:   161132 8e5ca0412a29bd03dfbdf1dd8e88df30

sparc architecture (Sun SPARC/UltraSPARC)

http://security.debian.org/pool/updates/main/n/newsx/newsx_1.6-2etch1_sparc.deb
Size/MD5 checksum:   147978 511f9a433c89f3fe114ebe04158d65ab

补丁安装方法:

1. 手工安装补丁包:

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

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

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

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

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

https://bugzilla.redhat.com/attachment.cgi?id=311653

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