0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

sudo中存在一个严重的漏洞:无需密码就能获取root权限

Linux爱好者 来源:Linux爱好者 作者:量子位 2021-02-02 11:14 次阅读

“这可能是近期内最需要重视的sudo漏洞。”

程序员都知道,一句sudo可以“为所欲为”。

而现在,来自Qualys的安全研究人员发现,sudo中存在一个严重的漏洞:

任何本地用户,无需身份验证(密码),也能获得root权限。

也就是说,攻击者完全可以利用这个漏洞,直接接管主机系统!

什么样的漏洞

Qualys的研究人员指出,此漏洞是基于堆的缓冲区溢出。

利用这一漏洞,攻击者无需知道用户密码,一样可以获得root权限。并且,是在默认配置下。

5e684712-61ff-11eb-8b86-12bb97331649.gif

△攻击效果

这一漏洞名为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)和Febora 33(sudo 1.9.2)。

并且,Qualys认为,在这种情况下,sudo支持的其他操作系统和Linux发行版也很容易受到攻击,并不能排除风险。

漏洞10年前就存在

能让攻击者跳过身份验证,直接获取root权限,这个漏洞本身的严重程度,按理说应该引起大部分用户和开发者注意。

事实上,这个漏洞2011年7月开始就已经存在,是由8255ed69这个commit引入的。

6c3e0e62-61ff-11eb-8b86-12bb97331649.png

匪夷所思的是,从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上,有网友给出了推断:

6ce1861e-61ff-11eb-8b86-12bb97331649.png

他认为,包括但不限于sudo这样的Linux程序的用户提交声明,是从来没有经过测试的。

提交没有测试的bug声明,原作者是没有充足的理由相信bug的真实性,也就无所谓bug是否修复了。

比如去年,有苹果的安全人员也发现了一个类似的安全漏洞,Linux Mint上的sudo在非默认配置下,也允许用户跳过身份验证获得root权限。

6e1f45de-61ff-11eb-8b86-12bb97331649.png

而类似这样的漏洞补丁,大部分也没有经过测试,所以,对用户来说,即使安装漏洞修复,也还存在漏洞修补不完全,以及引起新漏洞的风险。

还有人说,sudo官方没有“审稿人”的职能,对于用户的提交,没有确定的安全标准,所以也不会有的测试和审核。

6f1c678c-61ff-11eb-8b86-12bb97331649.png

普通用户怎么办呢?

很遗憾,现在根本没有一套完美的解决办法。

面对可能存在的漏洞,你能做的,就是格外留意自己的系统安全,避免不信任的用户碰到你的电脑

责任编辑:xj

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

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • BUG
    BUG
    +关注

    关注

    0

    文章

    154

    浏览量

    15581
  • root
    +关注

    关注

    1

    文章

    82

    浏览量

    21236

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

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MySQL忘记root密码解决方案

    mysql登录密码为password()算法加密,解密成本太高,以下为通用方案; 原理:mysql提供了特殊启动方式,即跳过权限表验证,启动后,登录不需要提供密码; 登录后,即可修改mysql数据库的user表,重置
    的头像 发表于 04-23 16:08 92次阅读

    Windows事件日志查看器存在零日漏洞

    弗洛里安指出,该漏洞无需高级用户权限即可通过Windows 10设备使域控制器的日志服务失效。AcrosSecurity经过验证发现此漏洞同时适用于Windows 11系统,且仅需约1
    的头像 发表于 02-02 14:29 175次阅读

    微软在Windows Server最新预览版中测试原生sudo命令,有望实现

    在此需补充的是,sudo 命令可令普通用户在特定指令中,以管理员级别的权限运行。换言之,非root用户亦能使用root级别特权。此特性,既提高了用户操作效率,也降低了因误操作导致的问题
    的头像 发表于 02-01 14:15 163次阅读

    如何在Linux中重置忘记的root密码

    忘记了 Linux root 密码?不用担心!本文提供了简单易懂的说明,可以安全地重置和修改 root 密码
    的头像 发表于 12-04 14:51 1149次阅读
    如何在Linux中重置忘记的<b class='flag-5'>root</b><b class='flag-5'>密码</b>

    Linux文件权限及Makefile

    man 手册 1.1 汉化 安装中文包 sudo apt- get update sudo apt- get install manpages-zh 1.2 具体使用 使用三种方式查询open接口
    的头像 发表于 11-24 16:06 265次阅读
    Linux文件<b class='flag-5'>权限</b>及Makefile

    虚拟机的root权限在哪里设置

    设置虚拟机的root权限是一项关键且复杂的任务,需要在虚拟机的操作系统中进行。下面将详细介绍如何在不同的虚拟化平台中设置虚拟机的root权限。 VMware虚拟机的
    的头像 发表于 11-23 10:55 4943次阅读

    MySQL忘记root密码解决方案

    MySQL 是一个流行的开源关系型数据库管理系统,被广泛应用于 web 应用程序和服务器环境中。MySQL的root用户是具有最高权限和特权的用户,可以操作所有数据库和表。如果忘记了root用户
    的头像 发表于 11-21 11:04 324次阅读

    什么是sudo rm -rf?为什么这个命令如此危险?

    sudo rm -rf 是一个linux的命令行命令,用于在系统中删除文件和目录。sudo表示以管理员权限运行该命令。
    的头像 发表于 10-24 18:25 1280次阅读

    Linux命令su和sudo的区别

    在 Linux 系统中,有两个常用的命令用于切换用户身份和执行特权操作,它们分别是 su 和 sudo。虽然它们都可以实现权限提升,但在使用方式、安全性和适用场景等方面存在一些区别。本文将介绍 su 和
    发表于 08-14 14:14 163次阅读

    Purple Pi OH Android11 ROOT方法

    为了让应用程序可以直接调用su执行系统命令和获取root权限,本文基于Purple Pi OH主板的Android SDK,介绍如果修改和编译一个root版本的Android11系统,
    的头像 发表于 06-30 14:59 416次阅读
    Purple Pi OH Android11 <b class='flag-5'>ROOT</b>方法

    Purple Pi OH Android11 ROOT方法

    为了让应用程序可以直接调用su执行系统命令和获取root权限,本文基于Purple Pi OH主板的Android SDK,介绍如果修改和编译一个root版本的Android11系统,
    的头像 发表于 06-25 09:49 480次阅读
    Purple Pi OH Android11 <b class='flag-5'>ROOT</b>方法

    如何使用kali破解wifi密码

    后   用户名:kali密码:kali   正式开始 查看已安装网卡 以下的操作都需要提升权限,默认的root密码都是kali   #提升权限
    的头像 发表于 06-19 10:11 1663次阅读
    如何使用kali破解wifi<b class='flag-5'>密码</b>

    万兴PDF密码如何查看列出的权限

    检查PDF权限 某些PDF文件可能包含禁止打印,编辑,复制等操作的限制。要查看文件中列出的不同权限,请单击“文件”> “属性”>“安全”以查看列出的权限。 添加打开/权限
    的头像 发表于 05-22 14:11 590次阅读
    万兴PDF<b class='flag-5'>密码</b>如何查看列出的<b class='flag-5'>权限</b>

    NetSet–自动化网络流量安全增强工具

    上述命令将会帮助你安装好NetSet,并自动完成所有的功能配置。同时由于使用sudo安装,所有的操作都会以root权限来执行,这也就意味着当一个需要提权的操作在执行时,你都不需要输入sudo
    的头像 发表于 05-11 10:02 413次阅读
    NetSet–自动化网络流量安全增强工具

    Linux服务器必备的安全设置

    个人用户的权限只可以在本 home 下有完整权限,其他目录要看别人授权。而经常需要 root 用户的权限,这时候 sudo 可以化身为
    的头像 发表于 05-11 09:28 314次阅读