受影响的系统: Debian Linux 2.1
Linux kernel 2.0.38
Linux kernel 2.0.37
Linux kernel 2.0.36
linux kernel 2.0.35
Linux kernel 2.0
RedHat Linux 5.2
不受影响系统: Linux kernel 2.3
Linux kernel 2.2
描述:
----------------------------------------------------------------------
Linux内核中的TCP/IP部分存在漏洞,本地用户可以通过使用""ping -s 65468 -R ANYADDRESS""命令,来挂起或破坏系统。-R选项用来记录路由。在2.2.X以上的内核中,这个命令将会执行失败,并显示""message too long"".这个漏洞存在于记录路由的代码部分。一个最大化的信息包可以导致内存出现问题。
建议:
----------------------------------------------------------------------
可以去掉ping的suid位。
也可以使用kernel 2.0.38的补丁:
+++ socket.c Thu Dec 9 21:06:51 1999
@@ -966,8 +966,9 @@
register struct msghdr msg;
register struct iovec iov;
- if (len < 0)
+ if (len < 0 || len >= 65468)
return -EINVAL;
err = verify_area(VERIFY_READ, buff, len);