查看原文
其他

Linux曝新安全漏洞:用户执行sudo命令可获取root权限

2017-06-02 合天智汇

点击“合天智汇”关注,学习网安干货

来自 Qualys Security 的安全专家,最近发现了新的 Linux 系统漏洞。他们发现,利用该漏洞可以实现用户权限的提升,并可以覆盖文件系统中的文件。


 漏洞解析

研究员发现 Linux 系统中 Sudo 的 get_process_ttyname() 有这样的漏洞:

这个函数会打开 “ /proc/[pid]/stat ” (man proc)目录,并从 field 7 (tty_nr) 中读取设备的 tty 编号。但这些field 是以空格分开的,而 field 2中(comm,command的文件名)可以包含空格(CVE-2017-1000367)。

那么,当我们从符号链接 “./     1 ” 中执行 Sudo 命令时,get_process_ttyname() 就会调用sudo_ttyname_dev() 来在内置的 search_devs[] 中努力寻找并不存在的“1”号 tty设备 。

然后,sudo_ttyname_dev() 开始调用 sudo_ttyname_scan() 方法,遍历“/dev”目录,并以广度优先方式寻找并不存在的 tty 设备“1”。

最后的这个遍历过程中,我们可以利用漏洞让当前的用户伪造自己的 tty 成为文件系统上任意的字符设备,然后在两个竞争条件下,该用户就可以将自己的tty伪造成文件系统上的任意文件。


在一个SELinux系统中,如果用户是通过 Sudo 命令获得临时权限的话,并没有完全取得该用户root权限。由于 relabel_tty()  (在src/selinux.c中) 在用户的 tty 和 dup2() 中调用了 open(O_RDWR|O_NONBLOCK) ,并用在命令行标准输入输出中(stdin, stdout,和stderr),那么在这个情况下的 Sudo 用户就能够获取 root 权限了。


因此利用这个漏洞,sudo用户就可以用命令行输出覆盖文件系统中的任意文件。



Linux 系统问题

这个文件是用在命令行的标准输入/输出/错误文件之中。如果 “/dev/shm” 之下的符号链接在被使用sudo命令打开之前,已经替换成另一个文件的连接,就可以通过写入标准输出或者错误来覆盖任意文件。这可以通过重写可信文件(例如etc/shadow或/etc/sudoers)来升级到完全根访问模式。

该Linux漏洞会影响所有从1.8.6p7到1.8.20的版本,Sudo1.8.20p1版本修复了这个问题。目前,该漏洞根据CVSS3评级标准记为7.8分。


本文转自:FreeBuf



点击下面标题可查看近期相关热门文章


回顾热门

分析经典病毒熊猫烧香

明日《网络安全法》正式实施 哪些条款与我们息息相关?

如何访问"暗网"(慎入)

kali linux下的信息收集技术

学点算法搞安全之SVM

渗透工具之TOR(洋葱头)之windows篇

《朝闻天下》深入报道,合天智汇助力中科院公众科学日

使用Docker快速搭建Web漏洞测试环境

小心公共wifi(kali linux下的无线攻击技术)





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存