快检查下你的sudo:被曝漏洞,无需密码就能获取root权限
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
“这可能是近期内最需要重视的sudo漏洞。”
程序员都知道,一句sudo可以“为所欲为”。
而现在,来自Qualys的安全研究人员发现,sudo中存在一个严重的漏洞:
任何本地用户,无需身份验证(密码),也能获得root权限。
也就是说,攻击者完全可以利用这个漏洞,直接接管主机系统!
什么样的漏洞
Qualys的研究人员指出,此漏洞是基于堆的缓冲区溢出。
利用这一漏洞,攻击者无需知道用户密码,一样可以获得root权限。并且,是在默认配置下。
△攻击效果
这一漏洞名为CVE-2021-3156(又名Baron Samedit)。Qualys分析认为,漏洞发生的原因在于sudo错误地转义了参数中的反斜杠。
通常,通过shell(sudo -s或sudo -i)运行命令行时,sudo会转义特殊字符。
但 -s 或 -i 也可能被用来运行sudoedit,在这种情况下,实际上特殊字符没有被转义,这就可能导致缓冲区溢出。
利用该漏洞,研究人员在多个Linux发行版上成功获得了完整的root权限,包括Ubuntu 20.04(sudo 1.8.31)、Debian 10(sudo 1.8.27)和Fedora 33(sudo 1.9.2)。
并且,Qualys认为,在这种情况下,sudo支持的其他操作系统和Linux发行版也很容易受到攻击,并不能排除风险。
漏洞10年前就存在
能让攻击者跳过身份验证,直接获取root权限,这个漏洞本身的严重程度,按理说应该引起大部分用户和开发者注意。
事实上,这个漏洞2011年7月开始就已经存在,是由8255ed69这个commit引入的。
匪夷所思的是,从2011年7月29日提交到现在,一直没有人发现、修复由此引发的漏洞。
也就是说,这个漏洞一直存在于sudo1.9.0到1.9.5p1的所有稳定版本,和1.8.2到1.8.31p2的所有旧版本的默认配置中。
按照惯例,在Qualys公布这一漏洞的详细消息之前,sudo已经正式修复这个漏洞。
所以,升级到sudo的1.9.5p2或是更高版本,就能化解风险。
如何测试你现在使用的sudo版本是否存在漏洞呢?
首先你需要以非root用户的身份登录,并运行“sudoedit -s /”命令。
有漏洞的系统会抛出一个以 “sudoedit: ”开头的错误,而打过补丁的系统则会显示一个以 “usage:”开头的错误。
为啥10年未修复?
为什么提交近10年间,这个漏洞都没人理会呢?
在Hacker News上,有网友给出了推断:
他认为,包括但不限于sudo这样的Linux程序的用户提交声明,是从来没有经过测试的。
提交没有测试的bug声明,原作者是没有充足的理由相信bug的真实性,也就无所谓bug是否修复了。
比如去年,有苹果的安全人员也发现了一个类似的安全漏洞,Linux Mint上的sudo在非默认配置下,也允许用户跳过身份验证获得root权限。
而类似这样的漏洞补丁,大部分也没有经过测试,所以,对用户来说,即使安装漏洞修复,也还存在漏洞修补不完全,以及引起新漏洞的风险。
还有人说,sudo官方没有“审稿人”的职能,对于用户的提交,没有确定的安全标准,所以也不会有的测试和审核。
普通用户怎么办呢?
很遗憾,现在根本没有一套完美的解决办法。
面对可能存在的漏洞,你能做的,就是格外留意自己的系统安全,避免不信任的用户碰到你的电脑。
相关文章
- EasyCVR对接华为iVS订阅摄像机和用户变更请求接口介绍
- 精选 | 腾讯云CDN内容加速场景有哪些?
- 模块化网络防止基于模型的多任务强化学习中的灾难性干扰
- 用搜索和注意力学习稳健的调度方法
- 用于多变量时间序列异常检测的学习图神经网络
- 助力政企自动化自然生长,华为WeAutomate RPA是怎么做到的?
- 使用腾讯轻量云搭建Fiora聊天室
- TSRC安全测试规范
- 云计算“功守道”
- 助力成本优化,腾讯全场景在离线混部系统Caelus正式开源
- Flink 利器:开源平台 StreamX 简介
- 腾讯云实践 | 一图揭秘腾讯碳中和?解决方案
- 深度学习中的轻量级网络架构总结与代码实现
- 信息系统项目管理师(高项复习笔记三)
- Adobe国际认证让科技赋能时尚
- c++该怎么学习(面试吃土记)
- 面试官问发布订阅模式是在问什么?
- 面试官:请实现一个通用函数把 callback 转成 promise
- 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
- 中山大学林倞解读视觉语义理解新趋势:从表达学习到知识及因果融合