Linux内核20天内连爆两高危漏洞,一个命令又可以获得root权限
Linux内核漏洞最近几乎是一月一爆,在8月15号才爆了一个几乎通杀所有版本所有内核所有架构的内核漏洞;今天在学生返校的大喜日子里,竟然又爆了一个,通杀内核2.6 < 2.6.19的所有32位Linux,算是google security team给祖国学生的礼物吧。
redhat已经发布补丁 RHSA-2009:1223 – Security Advisory https://rhn.redhat.com/rhn/errata/details/Packages.do?eid=8969
rhel4打到2.6.9-89.0.9内核就没事了,RHEL5没时间验证,基本上yum升级一下可以解决问题。
sound180给出了一个不错的临时解决方案,详见评论的34楼 http://baoz.net/linux-localroot-no-patch-again/comment-page-1/#comment-1972
我想Linux内核的开发团队需要考虑引入微软的SDL安全开发生命周期以增强Linux内核的安全性,否则用户用着真是提心吊胆。
下面展示一下这个漏洞的威力:
别说我是标题党,的确是一个命令就可以获得root权限吧,在32位的RHEL4里基本上是百发百中,永不落空。
包子将密切关注RedHat、Debian、Ubuntu、Gentoo等主流发行版针对此漏洞的动向,出于对用户的保护,如果您需要了解和跟踪漏洞的细节,漏洞的重现方式和重现经验,敬请关注 http://baoz.net/linux-localroot-no-patch-again/ 以获取最新资讯
cb的帖子 http://www.cnbeta.com/articles/92360.htm 很多有趣的对话。
请各位同学反馈攻击状况,现在验证到的是rhel4.7,rhel5.1是可以被攻击的。
包子猜您可能还喜欢下列文章:

2.6.9内核,rhel4.7上成功提权
微软的dog,你全家死绝!
linux肉鸡多了,翻墙不愁了。
2.6.18,rhel5.1失败
CentOS 5.3,selinux开启状态
测试成功
什么叫一个命令啊?起码两个:编译一个,执行一个。还没算下载之类的。
如果用&&连起来就是一个的话,多少命令都可以变成一个!
@Seaprince
钻这牛角尖有啥意思?
脑残还是幽默? ./a也叫一个命令啊
2.6.18-92.el5PAE
失败
@skywalker
只是觉得用这样的标题吸引人不厚道罢了
同问!
及时更新内核就可以了,在爆出所谓安全漏洞的同时,其实内核早就有修复了。应该说软件的漏洞比内核漏洞更可怕。pps for linux居然需要root权限正常运行,此类软件还不知有多少。
baoz如果看了CB上你这篇文章的评论的话,我想你以后肯定不会再往CB上投稿了,因为CB几乎已经成了脑残集中营了。大堆的喷子党,用着D版的WINDOWS,骂着微软;用着QQ,骂着马化腾;用百度下着MP3,骂着百度,是在无语。。。
就是你告诉他 他最喜欢的女人竟然给100个男人上过
他打死不承认时的愤怒
骂微软的其实没多少
更多的人觉得QQ很好用 而马化腾摆弄法律
至于百度MP3根本没人用 而百度这公司做恶多
但技术水平CB的确不高
也没到脑残的程度 至少还有人知道这不是一条命令
我用2。6。31。1
lz怎么不公布一下 攻击代码呢?
后面测试过的 有谁能分享一下代码吗?
首先服务器上不要装编译环境。其次,使用新版linux很重要。
顶~ 顶人不顶事
CentOS5.2 测试系统直接崩溃,%>_<%
我猜google要推他自己的操作系统了
@文明用语
百度的MP3没人用?但是据我所知,起码我们学校有90%的学生下载MP3,一定上百度,其次才是酷狗,GOOGLE音乐?实话说,基本没见人用过
@flyreally
那个小学的?这么NC……
我刚才去centos看了,关于RHSA-2009:1223已经跟进了好几个更新了,是8月24日、27日的
为啥cnbeta转载你的博客的时候,上面写的是redhat还没放出更新呢?
绝对的路过
2.6.18-92.el5
fail
同是AS4U6,一台可以,一台不行,为什么呢?
$ ./a
[-] exploit failed, try again
$ uname -a
Linux 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
$ cat /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
Kernel \r on an \m
下面的可以,同时AS4U6,一台可以一台不行,奇怪?
$ gcc -o a a.c
$ ./a
sh-3.1# uname -a
Linux 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
sh-3.1# cat /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
Kernel \r on an \m
有这么严重吗?
rhel 5.1 32位可以,5.3的64位无法编译
错误信息:/tmp/cceMbiOm.s: Assembler messages:
/tmp/cceMbiOm.s:84: Error: suffix or operands invalid for `push’
/tmp/cceMbiOm.s:87: Error: suffix or operands invalid for `push’
/tmp/cceMbiOm.s:90: Error: suffix or operands invalid for `pop’
@met3or
什么内核?
@sound180
iptables的output链对UDP包做了限制会导致无法成功提权
跟一下这个程序:
$ strace ./a
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
sendto(3, “”…, 1024, MSG_PROXY|MSG_MORE, {sa_family=AF_UNSPEC, sa_data=”\202\202\202\202\202\202\202\202\202\202\202\202\202\202″}, 16) = 1024
sendto(3, “”…, 1024, 0, {sa_family=AF_UNSPEC, sa_data=”\202\202\202\202\202\202\202\202\202\202\202\202\202\202″}, 16) = -1 EPERM (Operation not permitted)
对比一下源码:
if((fd=socket(PF_INET,SOCK_DGRAM,0))==-1){
perror(“[-] socket()”);
return -1;
}
x0x.sa_family=AF_UNSPEC;
memset(x0x.sa_data,0×82,14);
memset((char *)buf,0,sizeof(buf));
sendto(fd,buf,1024,MSG_PROXY|MSG_MORE,&x0x,sizeof(x0x));
sendto(fd,buf,1024,0,&x0x,sizeof(x0x));
if(getuid()==uid){
printf(“[-] exploit failed, try again\n”);
return -1;
这段代码建了一个udp的socket,然后sendto(fd,buf,1024,0,&x0x,sizeof(x0x));而iptables如果设了output的UDP限制会导致这条语句返回-1 EPERM (Operation not permitted)
同样如果iptables output规则做的严的话系统不受该漏洞影响
good job !
呵呵. 兄台哪里找这么多机子?
包子兄,./a叫做一条命令,不恰当吧
你用squid用户能登录?
有点标题党的嫌疑。
搞技术的还是严谨点好。
centos 5.3
测试不成功
fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), …}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ffe000
_llseek(3, 0, 0xbff293c4, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, “mmap: Permission denied\n”, 24mmap: Permission denied
CentOS release 5.3 (Final)
2.6.18-128.el5
centos 4.4测试成功!
取巧的方法,只针对上面的漏洞程序
Iptables -A OUTPUT -p udp –dport 33410 -j DROP
更新到2.6.18-128.7.1.el5试试
CentOS 4.7 成功
2.6.18-92.el5 有没有能溢出成功的exp 32位的没有开启selinux
麻烦大哥大姐发到我1317508037@qq.com 多谢了
./a 能提权成功?
你敢把a里面的东西全贴出来吗?