不用密码就能获取root权限?Sudo被曝新漏洞
2021-01-27 15:49:06 Author: www.freebuf.com(查看原文) 阅读量:190 收藏

“新的漏洞通告发了!快喊运维去打补丁。”

运维:

虽然运维惨兮兮,但“这可能是近期内最需要重视的sudo漏洞。”因为这次的Sudo漏洞CVE-2021-3156能够允许任何本地用户不需要身份验证就可以获得root权限。

任何本地用户都可以获取root权限

Sudo是一个Unix程序,可以让系统管理员为sudoers文件中列出的普通用户提供有限的root权限,同时保留其活动日志。它按照“最小特权原则”工作,在该原则下,该程序仅授予人们足够完成工作的权限,而不会损害系统的整体安全。

当在类似Unix的OS上执行命令时,非特权用户如果具有权限或知道超级用户的密码,就可以使用sudo命令来执行root权限命令。通过将sudoers配置文件包括在内,还可以将Sudo设置为允许普通用户像其他任何超级用户一样运行命令。

Qualys的安全研究人员发现了名为“Baron Samedit”(CVE-2021-3156)的Sudo提权漏洞,该漏洞研究人员于1月13日披露了此漏洞,并确保在公开发现内容之前先发布补丁程序。

Qualys研究人员认为,此问题是任何本地用户(普通用户和系统用户,无论是否在sudoers文件中列出)都可以利用基于堆的缓冲区溢出,攻击者无需知道用户密码即可获得root权限。

Sudo错误地转义了参数中反斜杠,从而导致缓冲区溢出。

1.9.5p2更改日志显示:“通常,通过外壳(sudo -s或sudo -i)运行命令时,sudo会转义特殊字符。”“但是,也可以使用-s或-i标志运行sudoedit,在这种情况下,实际上并没有进行转义,这使得缓冲区溢出成为可能。”

Qualys针对CVE-2021-3156漏洞进行了三次测试,以展示潜在的攻击者如何成功利用此漏洞。使用这些漏洞,研究人员能够在多个Linux发行版上获得完整的root权限,包括Debian 10(Sudo 1.8.27),Ubuntu 20.04(Sudo 1.8.31)和Fedora 33(Sudo 1.9.2)。

根据Qualys的说法,攻击者在Sudo支持的其他操作系统和发行版也可能利用该漏洞。

Qualys在周二发布的CVE-2021-3156安全公告中提供了有关如何利用CVE-2021-3156的更多技术细节。

下面是如何利用CVE-2021-3156严重漏洞的视频演示。

漏洞在被披露前已修复

该漏洞是9年前(2011年7月)在Sudo程序中引入的,提交为8255ed69。

影响版本包含:

-sudo:sudo: 1.8.2 - 1.8.31p2

-sudo:sudo: 1.9.0 - 1.9.5p1

Sudo贡献者在今天早些时候发布的sudo 1.9.5p2版本中已修复了漏洞,与此同时Qualys公开了他们的发现。

要测试系统是否易受攻击,必须以非root用户身份登录并运行“ sudoedit -s / ”命令。易受攻击的系统将引发以“ sudoedit:”开头的错误,而已修补系统将显示以“ usage:”开头的错误。

建议

使用Sudo且将root权限委派给其用户的系统管理员应立即升级到sudo 1.9.5p2或更高版本。

在2019年,另一个Sudo漏洞(漏洞名称为 CVE-2019-14287 )允许无特权的用户以root身份执行命令。

幸运的是,该缺陷只能在非标准配置中利用,这意味着大多数运行易受攻击的Sudo版本的系统都不会受到影响。

参考来源:New Linux SUDO flaw lets local users gain root privileges


文章来源: https://www.freebuf.com/news/262127.html
如有侵权请联系:admin#unsafe.sh