首页 -> 安全研究

安全研究

安全漏洞
Linux Kernel IRC DCC连接跟踪模块不必要端口访问漏洞

发布日期:2002-02-27
更新日期:2002-03-04

受影响系统:
Linux kernel 2.4.18pre-7
Linux kernel 2.4.18pre-6
Linux kernel 2.4.18pre-5
Linux kernel 2.4.18pre-4
Linux kernel 2.4.18pre-3
Linux kernel 2.4.18pre-2
Linux kernel 2.4.18pre-1
Linux kernel 2.4.17
Linux kernel 2.4.16
Linux kernel 2.4.15
Linux kernel 2.4.9
    - RedHat Linux 7.2 ia64
    - RedHat Linux 7.2 x86
    - RedHat Linux 7.2 alpha
    - RedHat Linux 7.1 alpha
    - RedHat Linux 7.1
    - RedHat Linux 7.1 ia64
    - RedHat Linux 7.1 x86
不受影响系统:
Linux kernel 2.4.18pre-8
Linux kernel 2.4.18
描述:
BUGTRAQ  ID: 4188
CVE(CAN) ID: CVE-2002-0060

Linux kernel是一个开源,自由的操作系统核心,最初由Linus Torvalds完成。在版本大于2.4.14的核心中的netfilter子系统里包含了一个连接跟踪模块,以提供对IRC DCC协议的支持,它监视外出的DCC CHAT/SEND 请求,然后将允许预期进入的DCC连接通过防火墙。

Linux kernel 2.4.14-pre9以及更低版本中在IRC连接跟踪模块实现上存在漏洞,导致在防火墙上出现不必要的端口接受外部连接。

当防火墙内部主机向外发起一个IRC DCC会话时,防火墙预期的动作应该是允许“来自任意IP/任意端口到特定IP/特定端口”的连接,当连接到来的时候,这个IRC DCC会话就初始化完毕。然而有问题的内核没有正确地限制访问许可,防火墙预期动作成了允许“来自任意IP/任意端口到任意IP/特定端口”的连接。这样,只要防火墙内部的某个主机向外发起一个IRC DCC请求,任意外部主机就可以连接防火墙内部任意IP的特定端口(内部主机IRC DCC请求使用的端口)。

攻击者可能利用这个漏洞检测防火墙后面的存活主机,甚至对内部主机发起攻击。

<*来源:Harald Welte (laforge@gnumonks.org
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2002-02/0306.html
                https://www.redhat.com/support/errata/RHSA-2002-028.html
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 不要使用有问题的Linux内核进行IRC DCC连接。

* 对Linux内核源码打如下的补丁,重新编译:

- --- linux-2.4.18-pre8-plain/net/ipv4/netfilter/ip_conntrack_irc.c Sat Dec 22 18:52:16 2001
+++ linux-2.4.18-pre8-nfpom/net/ipv4/netfilter/ip_conntrack_irc.c Tue Feb 5 15:55:29 2002
@@ -1,8 +1,8 @@
- -/* IRC extension for IP connection tracking, Version 1.20
- - * (C) 2000-2001 by Harald Welte <laforge@gnumonks.org>
+/* IRC extension for IP connection tracking, Version 1.21
+ * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
  * based on RR's ip_conntrack_ftp.c
  *
- - * ip_conntrack_irc.c,v 1.20 2001/12/06 07:42:10 laforge Exp
+ * ip_conntrack_irc.c,v 1.21 2002/02/05 14:49:26 laforge Exp
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -112,9 +112,9 @@
  
         struct ip_ct_irc *info = &ct->help.ct_irc_info;
  
- - memset(&mask, 0, sizeof(struct ip_conntrack_tuple));
- - mask.dst.u.tcp.port = 0xFFFF;
- - mask.dst.protonum = 0xFFFF;
+ mask = ((struct ip_conntrack_tuple)
+ { { 0, { 0 } },
+ { 0xFFFFFFFF, { 0xFFFF }, 0xFFFF }});
  
         DEBUGP("entered\n");
         /* Can't track connections formed before we registered */

厂商补丁:

HP
--
HP已经为此发布了一个安全公告(HPSBTL0203-027):
HPSBTL0203-027:Updated 2.4 kernel available

由于HP Secure OS Software for Linux不支持netfilter组件,所以不受此漏洞的影响。

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

http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.gz

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2002:028-13)以及相应补丁:
RHSA-2002:028-13:Updated 2.4 kernel available
链接:https://www.redhat.com/support/errata/RHSA-2002-028.html

补丁下载:

Red Hat Linux 7.1:

SRPMS:
ftp://updates.redhat.com/7.1/en/os/SRPMS/kernel-2.4.9-31.src.rpm

alpha:
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-2.4.9-31.alpha.rpm
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-smp-2.4.9-31.alpha.rpm
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-source-2.4.9-31.alpha.rpm
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-BOOT-2.4.9-31.alpha.rpm
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-headers-2.4.9-31.alpha.rpm
ftp://updates.redhat.com/7.1/en/os/alpha/kernel-doc-2.4.9-31.alpha.rpm

athlon:
ftp://updates.redhat.com/7.1/en/os/athlon/kernel-2.4.9-31.athlon.rpm
ftp://updates.redhat.com/7.1/en/os/athlon/kernel-smp-2.4.9-31.athlon.rpm

i386:
ftp://updates.redhat.com/7.1/en/os/i386/kernel-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.1/en/os/i386/kernel-source-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.1/en/os/i386/kernel-BOOT-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.1/en/os/i386/kernel-headers-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.1/en/os/i386/kernel-doc-2.4.9-31.i386.rpm

i586:
ftp://updates.redhat.com/7.1/en/os/i586/kernel-2.4.9-31.i586.rpm
ftp://updates.redhat.com/7.1/en/os/i586/kernel-smp-2.4.9-31.i586.rpm

i686:
ftp://updates.redhat.com/7.1/en/os/i686/kernel-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.1/en/os/i686/kernel-smp-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.1/en/os/i686/kernel-enterprise-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.1/en/os/i686/kernel-debug-2.4.9-31.i686.rpm

ia64:
ftp://updates.redhat.com/7.1/en/os/ia64/kernel-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.1/en/os/ia64/kernel-smp-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.1/en/os/ia64/kernel-source-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.1/en/os/ia64/kernel-headers-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.1/en/os/ia64/kernel-doc-2.4.9-31.ia64.rpm

Red Hat Linux 7.2:

SRPMS:
ftp://updates.redhat.com/7.2/en/os/SRPMS/kernel-2.4.9-31.src.rpm

athlon:
ftp://updates.redhat.com/7.2/en/os/athlon/kernel-2.4.9-31.athlon.rpm
ftp://updates.redhat.com/7.2/en/os/athlon/kernel-smp-2.4.9-31.athlon.rpm

i386:
ftp://updates.redhat.com/7.2/en/os/i386/kernel-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.2/en/os/i386/kernel-source-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.2/en/os/i386/kernel-BOOT-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.2/en/os/i386/kernel-headers-2.4.9-31.i386.rpm
ftp://updates.redhat.com/7.2/en/os/i386/kernel-doc-2.4.9-31.i386.rpm

i586:
ftp://updates.redhat.com/7.2/en/os/i586/kernel-2.4.9-31.i586.rpm
ftp://updates.redhat.com/7.2/en/os/i586/kernel-smp-2.4.9-31.i586.rpm

i686:
ftp://updates.redhat.com/7.2/en/os/i686/kernel-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.2/en/os/i686/kernel-smp-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.2/en/os/i686/kernel-enterprise-2.4.9-31.i686.rpm
ftp://updates.redhat.com/7.2/en/os/i686/kernel-debug-2.4.9-31.i686.rpm

ia64:
ftp://updates.redhat.com/7.2/en/os/ia64/kernel-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.2/en/os/ia64/kernel-smp-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.2/en/os/ia64/kernel-source-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.2/en/os/ia64/kernel-headers-2.4.9-31.ia64.rpm
ftp://updates.redhat.com/7.2/en/os/ia64/kernel-doc-2.4.9-31.ia64.rpm

s390:
ftp://updates.redhat.com/7.2/en/os/s390/kernel-2.4.9-31.s390.rpm
ftp://updates.redhat.com/7.2/en/os/s390/kernel-source-2.4.9-31.s390.rpm
ftp://updates.redhat.com/7.2/en/os/s390/kernel-BOOT-2.4.9-31.s390.rpm
ftp://updates.redhat.com/7.2/en/os/s390/kernel-headers-2.4.9-31.s390.rpm
ftp://updates.redhat.com/7.2/en/os/s390/kernel-doc-2.4.9-31.s390.rpm

可使用下列命令安装补丁:

rpm -Fvh [文件名]

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