[原]udev漏洞导致本地普通用户可提升到管理员权限

    前段时间(准确来说,应该是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上,使用普通用户的测试情况:

引用
[linuxing@ftpserver ~]$ uname -r
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 平台:

[原]udev漏洞导致本地普通用户可提升到管理员权限下载文件
点击这里下载文件

x86_64 平台:

[原]udev漏洞导致本地普通用户可提升到管理员权限下载文件
点击这里下载文件

源码包:

[原]udev漏洞导致本地普通用户可提升到管理员权限下载文件
点击这里下载文件

升级后再测试:

引用
[linuxing@webapp ~]$ id
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)

问题解决。

※ 使用其他平台的朋友,请使用下面的命令,进行源码编译后安装:

# rpmbuild –rebuild udev-095-14.20.src.rpm

◎ 其他发行版本,可分别升级:
Debian/Ubuntu 用户请执行:

# apt-get update ; apt-get upgrade -y

CentOS 用户请执行:

# yum update udev

RedHat 用户请使用官方rpm包更新或者购买RedHat的satellite服务。

※ 此外,该漏洞也提醒了我们:
部署关键业务系统时,除做好及时的补丁升级,防火墙、密码等安全策略工作外,利用RedCastle、grsecurity 等工具,配置更高级的安全策略还是非常有用的。
在这次的情况下,如果部署了红旗 RedCastle 服务器安全套件,即使不打漏洞补丁,黑客也不能利用该漏洞获得root权限,完全可以避免该问题的。
关于红旗 RedCastle 服务器安全套件的介绍,请见: 这里 。

三、附录
测试代码参考自: 这里 和 这里 。

代码下载:

[原]udev漏洞导致本地普通用户可提升到管理员权限下载文件
点击这里下载文件

[原]udev漏洞导致本地普通用户可提升到管理员权限内文分页: [1] [2]
补充udev 绑定网卡的方法
简述udev的自定义规则
[转]理解和认识udev

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/105375.html

(0)
上一篇 2021年8月25日
下一篇 2021年8月25日

相关推荐

发表回复

登录后才能评论