“新的漏洞通告发了!快喊运维去打补丁!”
运维:
已读不回.jpg

这次的漏洞应该是近期最需要重视的sudo漏洞,因为此次的漏洞可以允许本地用户不需要验证即可获得Root权限。

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

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

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

1月27日,国外研究团队Qualys曝出sudo堆溢出漏洞,名为“Baron Samedit”(CVE-2021-3156),它于2011年7月引入(提交8255ed69),该漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上完成提权来获取root权限。漏洞研究人员于1月13日披露了此漏洞,并确保在公开发现内容之前先发布补丁程序。

依照Sudo Security Alerts说明,此问题是任何本地用户(普通用户和系统用户,无论是否在sudoers文件中列出)都可以利用基于堆的缓冲区溢出,攻击者无需知道用户密码即可获得root权限。

这是因为sudo错误地转义了参数中反斜杠,从而导致缓冲区溢出。这也就存在如从web之类获得wwwwww-data的shell,就可以用该漏洞取得root权限,也可透过数据库(mysql身份)取得权限。

在其sudo的1.9.5p2更改日志显示:“通常,通过shell(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的作者和开源发行版进行了协调,前几天发布的sudo 1.9.5p2版本中已修复了漏洞,同时Qualys研究小组宣布该漏洞。

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

影响的版本有:
sudo: 1.8.2 - 1.8.31p2

sudo: 1.9.0 - 1.9.5p1

CentOS升级

yum update && yum upgrade

Debian系系统升级

apt update && apt upgrade

升级完成后在使用sudoedit -s /命令检测是否以usage:开头的错误提示。

文章名: 《你的sudo更新了吗?》

文章链接:https://www.yfriend.xyz/947.html

除特别注明外,文章均为深度博客所创,转载时请注明本文出处及文章链接
Last modification:February 19th, 2021 at 05:55 pm
如果觉得我的文章对你有用,请随意赞赏