整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

Sudo,想必但凡接触过 Linux 或 Unix 操作系统的开发者都知道这个可以“为所欲为”的应用程序,系统管理员可通过 Sudo 让普通用户执行部分或全部的 root 命令。

而就在 1 月 26 日,云安全和合规解决方案公司 Qualys 披露了 Sudo 中存在的一个严重漏洞(漏洞编号为 CVE-2021-3156,Qualys 将其命名为 Baron Samedit):任何本地用户,无需密码验证就可以获取 root 权限!

隐藏了十年的漏洞

Qualys 安全研究人员指出,该漏洞是基于堆的缓冲区溢出,Sudo 作者也在 1 月 26 日的报告中简述了这个漏洞的由来:

通常,在 shell 模式下运行 sudo -s 或 sudo -i 命令时,Sudo 会在命令参数中使用反斜杠转义特殊字符。

但运行 sudoedit 时同样可能会用到 -s 或 -i,并设置启用 shell 模式的标志,那么由于此时实际上并没有运行命令,Sudo 并不会去转义特殊字符。最终,决定是否删除转义字符的代码就不会去检查命令实际上是否正在运行,只是设置了 shell 标志。这就可能导致可被利用的基于堆的缓冲区溢出。

Qualys 研究小组约两周前发现该漏洞,并且十分惊人的是,该漏洞已经隐藏了将近十年无人发现!它于 2011 年 7 月由 8255ed69 这个 commit 引入,因此过去十年中 Sudo 发布的所有版本在默认配置下都存在这一漏洞,包括从 1.8.2 到 1.8.31p2 的所有旧版本及 1.9.0 到 1.9.5p1 的所有稳定版本。

鉴于绝大多数 Linux 和 Unix 系统中都安装了 Sudo,Qualys 研究人员利用该漏洞对多个 Linux 发行版进行了测试,最终都成功获得了完整的 root 权限,包括 Debian 10(sudo 1.8.27),Ubuntu 20.04(sudo 1.8.31)和 Fedora 33(sudo 1.9.2)。

因此 Qualys 认为,攻击者也很可能在 Sudo 支持的其他操作系统和 Linux 发行版中利用该漏洞。所以在确认该漏洞后,Qualys 及时与 Sudo 作者和开源发行版进行协作并于 1 月 26 日宣布漏洞的存在。

当然,披露漏洞并不是为了让攻击者趁虚而入,Sudo 在 Qualys 公布之前就已正式修复了这个漏洞,并给出了解决方案:Sudo 更新至版本 1.9.5p2 或更高版本即可。

两年发现三个漏洞

这并不是 Sudo 第一次被发现存在漏洞,这次的 CVE-2021-3156,是这两年来 Sudo 被曝出的第三个安全漏洞了。

2019 年 10 月公布的编号 CVE-2019-14287 、被称为 -1 UID bug 的漏洞,与 2020 年 2 月公布的编号 CVE-2019-18634、被称为pwfeedback bug 的漏洞,都可以使受限制的用户运行 root 命令,不过庆幸的是,这两种漏洞很难被利用,因为它们需要复杂且非标准的 Sudo 设置。

而此次曝出的这个漏洞隐藏已久并易于利用,与前两个漏洞相比危险性最高。

有国外开发者对该漏洞成功蛰伏十年表示诧异,因此尝试对 Sudo 采用模糊测试来发现漏洞。最后发现,2 小时的 CPU 时间就能在 setuid(Sudo 是 setuid 二进制文件)实用程序中找到严重的安全漏洞。因此该开发者建议,可以快速使用模糊测试来发现广泛使用的实用程序中隐藏的严重漏洞

被广泛利用的可能性不大

庆幸的是,易于利用不代表这个漏洞可以被广泛利用。来自 Linux 基金会的 David A. Wheeler 称:“该漏洞不可远程利用,攻击者只有在易受攻击的计算机上才能利用此漏洞。”

Kenna Security 安全研究主管 Jerry Gamblin 对此也表示赞同:“该漏洞的利用需要预先存在一定级别的访问权限,因此广泛利用它的可能性不大。”即该漏洞虽然危险,由此受到广泛攻击的可能性却很小。

话虽如此,但对于已经拥有 Linux 环境初始访问权限的恶意内部人员或攻击者来说,这个漏洞的存在还是很大的隐患。僵尸网络这个攻击媒介更是不能忽视,前一阵 FreakOut 恶意软件攻击 Linux设备的事件就是前车之鉴。

一周前,据安全公司 Check Point Software 研究人员称,一种新的恶意软件,即 FreakOut,利用了最近披露的在 Linux 系统上运行的网络连接存储(NAS)设备中的漏洞,将计算机加入 IRC 僵尸网络,以发起分布式拒绝服务(DDoS),攻击并挖掘 Monero 加密货币。

因此,Qualys 也表示,如果僵尸网络运营商暴力破解低级服务帐户,那么该漏洞可能在攻击的第二阶段就被滥用,入侵者将轻松获得 root 权限,并完全控制被入侵的服务器。

除版本更新别无他法

那么现在的你应该怎么做呢?

首先,先用以下命令检测你的 Sudo 版本是否存在漏洞;

sudoedit -s '\' `perl -e 'print "A" x 65536'`

如果你收到的是 usage 或错误消息,那么恭喜,你的 Sudo 版本不会受到攻击;如果结果是 Segmentation Fault,很遗憾,你的 Sudo 存在该漏洞。

然后接下来,你就只能升级到 Sudo 1.9.5p2 版本或更高版本了,毕竟 Sudo 自己都说了:除了更新版本,其他解决方法是“None”

Sudo 1.9.5p2 下载地址为:https://www.sudo.ws/stable.html,大家尽快更新吧!

参考链接:

https://www.sudo.ws/alerts/unescape_overflow.html

https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit

https://milek7.pl/howlongsudofuzz/

☞程序员颈椎病康复秘籍
☞他是阿里 P11,靠写代码写成合伙人,身家几十亿,没有他,我们可能刷不了淘宝!
☞对不起,我的代码评审毁了一个程序员!
☞2021 互联网大厂新年礼盒大比拼!

点分享

点收藏

点点赞

点在看

隐藏十年竟无人发现!Sudo 漏洞被曝出:无需密码就能获取 root 权限相关推荐

  1. 隐藏了十年的Sudo漏洞爆出:无需密码就能获取root权限

    Sudo,想必但凡接触过Linux或Unix操作系统的开发者都知道这个可以"为所欲为"的应用程序,系统管理员可通过Sudo让普通用户执行部分或全部的root命令. 而就在 1 月 ...

  2. 隐藏了十年的 Sudo 漏洞曝出:无需密码就能获取 root 权限

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) Sudo,想必但凡接触过 Linux 或 Unix 操作系统的开发者都知道这个可以"为所欲为"的应用程序,系统管理员 ...

  3. 快检查一下你的sudo:无需密码就能获取root权限,还是个10年老bug

    贾浩楠 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "这可能是近期内最需要重视的sudo漏洞." 程序员都知道,一句sudo可以"为所欲为". ...

  4. 两个什么漏洞,可让十亿安卓手机被获取Root权限?

    趋势科技报道,数十亿的安卓设备上发现安全漏洞,攻击者可通过简单的操作获取root访问权限. 目前市场上大部分的智能设备都在使用Qualcomm Snapdragon SoCs(系统芯片),据该公司官网 ...

  5. 发现一号店首页曝出重大XSS漏洞,在IE8,IE9,IE10上均有此漏洞

    发现一号店首页曝出XSS漏洞,在IE8,IE9,IE10上均有此漏洞 1.进入一号店首页: http://www.yhd.com 2.搜索第一个字符串或者第二个字符串: 第一个: 第二个: (这里说明 ...

  6. 一则利用内核漏洞获取root权限的案例【转】

    转自:https://blog.csdn.net/u014089131/article/details/73933649 目录(?)[-] 漏洞描述 漏洞的影响范围 漏洞曝光时间 漏洞产生的原因 漏洞 ...

  7. Ubuntu 被曝严重漏洞:切换系统语言+输入几行命令,就能获取 root 权限

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 无需系统密码,就能添加新的sudo用户.获取root权限,事后还能删除不留痕迹. 这是GitHub安全研究员Kevin Backhouse ...

  8. Ubuntu被曝严重漏洞:切换系统语言+输入几行命令,就能获取root权限

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 无需系统密码,就能添加新 ...

  9. 3 src 获取_CVE-2019-15846:Exim远程获取root权限漏洞分析

    报告编号:B6-2019-103101 报告来源:360-CERT 报告作者:360-CERT 更新日期:2019-10-31 0x00 漏洞背景 2019年9月6日18:00,exim发布exim- ...

最新文章

  1. mysql连接的时候里执行命令_在Bash里使用交互式命令连接MySQL数据库,并执行一次查询...
  2. 中国SaaS死或生之二:ERP两大邪术,尽出歪门邪路
  3. cygwin是一个在windows平台上运行的unix模拟环境,下载与安装
  4. java的matcher方法,Matcher 的方法
  5. java api操作hbase_通过JavaAPI使用HBase
  6. c55x汇编语言,TMS320C55x汇编语言编程A.ppt
  7. El表达式和fn函数一起使用
  8. python读取数据库数据类型_Python中从SQL型数据库读写dataframe型数据
  9. xml dtd 约束建立xml文档
  10. Spring Cloud 相关配置信息说明
  11. 【linux】ubuntu11.10下各种问题以及解决方案
  12. 已遭利用的Windows 0day漏洞 CVE-2020-1380分析
  13. python整个小服务器
  14. VMware12 安装 Mac OS 10.12 步骤及设置优化教程
  15. uploadify php完整,uploadify.php
  16. 【引用】我国一、二级学科目录
  17. 零基础程序员如何自学编程
  18. 解决路由器中继不能连中文ssid问题
  19. 图像处理算法工程师——必备技能
  20. FDTD Solutions初学笔记

热门文章

  1. 00后MIT美女学霸获2022年罗德奖学金!4位中国学霸入学牛津
  2. 科技互联网公司真的越来越重视数学了吗?
  3. 硕博士申请--阿德莱德大学 AI组介绍(含组员/顶会论文等)
  4. 谷歌AI乳腺癌检测超过人类,LeCun质疑引起讨论
  5. SAP RETAIL 如何根据分配表查到根据它创建的采购订单?
  6. 怎么在S4 HANA中使用40位物料编码
  7. SAP PM入门系列33 - IP16 维修计划报表
  8. 抢了人类编辑饭碗的AI算法,会完胜吗?
  9. 马斯克说,特斯拉最新自动驾驶芯片性能是英伟达的7倍​
  10. 大众高层:中国将成为全球自动驾驶软件研发中心