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

运维:

已读不回.jpg

这次的漏洞应该是近期最需要重视的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之类获得wwwwww-data的shell,就可以用该漏洞取得root权限,也可透过数据库(mysql身份)取得权限。

在其sudo的1.9.5p2更改日志显示:

通常,通过shell(sudo -ssudo -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