Linux Kernel IPTables符号错误远程拒绝服务漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2004-12-29
Linux Kernel IPTables符号错误远程拒绝服务漏洞

发布日期: 2004年7月5日
受影响系统:
Linux kernel 2.6.7
Linux kernel 2.6.6
Linux kernel 2.6.5
Linux kernel 2.6.4
Linux kernel 2.6.3
Linux kernel 2.6.2
Linux kernel 2.6.1-rc2
Linux kernel 2.6.1-rc1
Linux kernel 2.6.1
Linux kernel 2.6
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 10634

Linux是一款开放源代码操作系统。

Linux内核包含的iptables不正确处理部分TCP头字段值,远程安全者可以利用这个漏洞对Linux系统进行拒绝服务安全。

此漏洞只有当在netfilter防火墙子系统中使用"-p tcp --tcp-option"选项时才会被触发。问题存在于tcp_find_option()函数中(net/ipv4/netfilter/ip_tables.c),定义的'opt'字段如下:

    char opt[60 - sizeof(struct tcphdr)];

由于不正确处理,会导致'opt'生成负值并形成循环。安全者发送包含畸形TCP头字段数据的包可导致内核进行无限循环消耗所有CPU资源,产生拒绝服务。

<*来源:Adam Osuchowski (adwol@polsl.gliwice.pl)
 
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=108861141304495&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有安全性,仅供安全研究与教学之用。使用者风险自负!

如下的包数据可触发此漏洞:

0x0000: 4500 0030 1234 4000 ff06 e83f c0a8 0001
0x0010: c0a8 0002 0400 1000 0000 0064 0000 0064
0x0020: 7000 0fa0 dc6a 0000 0204 05b4 0101 04fd

建议:
--------------------------------------------------------------------------------
厂商补丁:

Linux
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.kernel.org/

图片内容