受影響的系統: 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);