“新的漏洞通告发了!快喊运维去打补丁!”
运维:
这次的漏洞应该是近期最需要重视的sudo漏洞,因为此次的漏洞可以允许本地用户不需要验证即可获得Root权限。
SUDO简介
sudo 是一个Unix程序,可以让系统管理员为sudoers文件中列出的普通用户提供有限的root权限,同时保留其活动日志。它按照“最小特权原则”工作,在该原则下,该程序仅授予人们足够完成工作的权限,而不会损害系统的整体安全。
当在类似Unix的OS上执行命令时,非特权用户如果具有权限或知道超级用户的密码,就可以使用sudo命令来执行root权限命令。通过将sudoers配置文件包括在内,还可以将sudo设置为允许普通用户像其他任何超级用户一样运行命令。
任何本地用户都可以获取root权限
2021年1月27日,国外研究团队Qualys曝出sudo堆溢出漏洞,名为“Baron Samedit”(编号:CVE-2021-3156),它于2011年7月引入(提交8255ed69),该漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上完成提权来获取root权限。漏洞研究人员于1月13日披露了此漏洞,并确保在公开发现内容之前先发布补丁程序。
依照Sudo Security Alerts说明,此问题是任何本地用户(普通用户和系统用户,无论是否在sudoers文件中列出)都可以利用基于堆的缓冲区溢出,攻击者无需知道用户密码即可获得root权限。
这是因为sudo错误地转义了参数中反斜杠,从而导致缓冲区溢出。这也就存在如从web之类获得www
或www-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:
开头的错误提示。
影响的版本有:
- 从 1.8.2 到 1.8.31p2 的所有旧版本
- 从 1.9.0 到 1.9.5p1 的所有稳定版本
现在各Linux操作软件源皆已发布最新版的sudo,只需更新一下系统软件即可完成升级:
CentOS升级
yum update -y && yum upgrade -y
Debian系系统升级
apt update -y && apt upgrade -y
升级完成后在使用sudoedit -s /
命令检测是否以usage:
开头的错误提示。
文章由
Yang2635
上传,原文链接:https://www.isisy.com/947.html