发布日期:2011-03-17
更新日期:2011-03-17受影响系统:
Linux kernel 2.6.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 46921Linux Kernel是开放源码操作系统Linux所使用的内核。Linux Kernel Netfilter中的"ipt_CLUSTERIP.c"存在缓冲区溢出漏洞,本地攻击者可以通过此漏洞以内核权限执行任意代码,完全控制受影响计算机,导致Kernel崩溃,拒绝服务合法用户。"buffer"字符串是从用户空间中复制的。程序没有检查其是否以零结尾。可导致simple_strtoul()内的溢出。建议不要复制多于用户提供的"size"字节。这是在git epoch版本之前引入的问题。默认情况下,文件"ipt_CLUSTERIP/*"仅是根可写,但是在一些设置下,权限可能放发到网络管理用户。<*来源:Vasiliy Kulikov (segoon@openwall.com)
链接:http://marc.info/?l=netfilter-devel&m=130036157327564&w=2
http://www.linuxidc.com/Linux/2011-03/33667.htm
*>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!Vasiliy Kulikov (segoon@openwall.com)提供了如下测试方法:---
net/ipv4/netfilter/ipt_CLUSTERIP.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c
index 1e26a48..af7dec6 100644
--- a/net/ipv4/netfilter/ipt_CLUSTERIP.c
+++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c
@@ -669,8 +669,11 @@ static ssize_t clusterip_proc_write(struct file *file, const char __user *input,
char buffer[PROC_WRITELEN+1];
unsigned long nodenum;- if (copy_from_user(buffer, input, PROC_WRITELEN))
+ if (size > PROC_WRITELEN)
+ return -EIO;
+ if (copy_from_user(buffer, input, size))
return -EFAULT;
+ buffer[size] = 0; if (*buffer == "+") {
nodenum = simple_strtoul(buffer+1, NULL, 10);
--
1.7.0.4
--建议:
--------------------------------------------------------------------------------
厂商补丁:Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:http://www.kernel.org/PHP “shmop_read()”远程整数溢出漏洞Linux Kernel ALSA “hpioctl.c”内存破坏漏洞相关资讯 Linux Kernel Linux漏洞
- Linux Kernel 3.14系列结束支持 (今 14:24)
- Linux kernel 2.6.32 LTS 将于下个 (01月31日)
- Linux Kernel 4.1.15发布 (12/15/2015 20:54:13)
| - Linux Kernel 开发报告 25 周年版 (09月10日)
- 敲击28次退格键之后:Linux漏洞可 (12/18/2015 11:22:28)
- Red Hat Linux 修补“libuser”库 (07/26/2015 06:39:34)
|
本文评论 查看全部评论 (0)