前段时间(准确来说,应该是2009年4月24日),Linux的udev程序爆出本地提权漏洞,本地用户可以轻易获得root权限,经测试,漏洞影响红旗 Asianux 3.0 标准版和SP1 的各版本,但对DC Server 5.0没有影响。对应平台的朋友,请立即更新udev程序。
一、漏洞描述
该漏洞英文描述为:Linux Kernel 2.6 UDEV < 141 Local Privilege Escalation Exploit。系统中的普通用户利用该漏洞,可以直接提升到root管理员权限,问题相当严重。
在后面的链接中,描述了受影响的常见发行版本:点击 。
测试
从 这里 找到一个测试代码。代码内容见附录。
在Asianux 3.0上,使用普通用户的测试情况:
2.6.18-8.10AX
[linuxing@ftpserver ~]$ ls -l
total 28
drwxr-xr-x 3 linuxing linuxing 4096 Apr 29 15:44 Desktop
-rwxrwxr-x 1 linuxing linuxing 3796 Apr 29 15:47 libno_ex.so.1.0
-rw-rw-r– 1 linuxing linuxing 0 Apr 29 15:48 ls.txt
-rw-rw-r– 1 linuxing linuxing 352 Apr 29 15:47 program.c
-rw-rw-r– 1 linuxing linuxing 1888 Apr 29 15:47 program.o
-rw-rw-r– 1 linuxing linuxing 80 Apr 29 15:47 suid.c
-rw-rw-r– 1 linuxing linuxing 3519 Apr 29 2009 test.sh
-rw-rw-r– 1 linuxing linuxing 2234 Apr 29 15:47 udev.c
[linuxing@ftpserver ~]$ id
uid=516(linuxing) gid=517(linuxing) groups=48(apache),517(linuxing)
[linuxing@ftpserver ~]$ cd /tmp
[linuxing@ftpserver tmp]$ ps -ef|grep udev
root 391 1 0 Apr23 ? 00:00:00 /sbin/udevd -d
linuxing 6400 6364 0 17:43 pts/0 00:00:00 grep udev
[linuxing@ftpserver tmp]$ sh test.sh 390 ← 使用udev进程号- 1
suid.c: 在函数 ‘main’ 中:
suid.c:3: 警告:隐式声明与内建函数 ‘execl’ 不兼容
cp: “libno_ex.so.1.0” 及 “/tmp/libno_ex.so.1.0” 为同一文件
sh-3.1#
sh-3.1# id
uid=0(root) gid=0(root) groups=48(apache),517(linuxing)
可见,普通用户linuxing获得root管理员权限。
二、解决问题
首先,这是一个本地漏洞,也就是说,并不能用于远程攻击。
红旗 Asianux 3.0 标准版和SP1,请使用下面的软件包升级:
i386 平台:
x86_64 平台:
源码包:
升级后再测试:
uid=512(linuxing) gid=512(linuxing) groups=512(linuxing)
[linuxing@webapp ~]$ ps -ef|grep udev
root 4548 1 0 23:50 ? 00:00:00 /sbin/udevd -d
linuxing 4695 4648 0 23:53 pts/0 00:00:00 grep udev
[linuxing@webapp ~]$ sh test.sh 4547
suid.c: 在函数 ‘main’ 中:
suid.c:3: 警告:隐式声明与内建函数 ‘execl’ 不兼容
sh-3.1$ id
uid=512(linuxing) gid=512(linuxing) groups=512(linuxing)
问题解决。
※ 使用其他平台的朋友,请使用下面的命令,进行源码编译后安装:
◎ 其他发行版本,可分别升级:
Debian/Ubuntu 用户请执行:
CentOS 用户请执行:
RedHat 用户请使用官方rpm包更新或者购买RedHat的satellite服务。
※ 此外,该漏洞也提醒了我们:
部署关键业务系统时,除做好及时的补丁升级,防火墙、密码等安全策略工作外,利用RedCastle、grsecurity 等工具,配置更高级的安全策略还是非常有用的。
在这次的情况下,如果部署了红旗 RedCastle 服务器安全套件,即使不打漏洞补丁,黑客也不能利用该漏洞获得root权限,完全可以避免该问题的。
关于红旗 RedCastle 服务器安全套件的介绍,请见: 这里 。
三、附录
测试代码参考自: 这里 和 这里 。
代码下载:
简述udev的自定义规则
[转]理解和认识udev
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/105375.html