新 最近被技术专家发现sudo 漏洞允许任何本地用户在没有任何身份验证的情况下使用 Unix 在操作系统上获得 root 权限。
Sudo 其实是个 Unix 程序使系统管理员能够成为 sudoers 文件中列出的普通用户提供有限的 root 权限,同时保留其活动日志。Sudo 按照“最小权限原则”基于这一原则,工作,Sudo 程序只允许用户在不损害系统整体安全的情况下完成工作。
当在类似 Unix 在系统上执行命令时,普通用户可以使用 sudo(superuser do)命令作为超级用户执行(如果他们有权限或知道超级用户的密码)—— root 是系统的超级用户,即特殊的系统管理账户。
任何本地用户的 root 权限
Qualys 的安全研究人员发现并跟踪了命名 CVE-2021-3156 的 Sudo 权限升级漏洞。Qualys 研究人员发现,这个漏洞的原因是基于任何本地用户(无论是否在 sudoers 文件中列出的)可以通过基于堆的缓冲区溢出来实现,攻击者可以成功知道用户密码的情况下成功利用这个漏洞。
Sudo 反斜杠字符在参数中错误转换,触发缓冲溢出,最终导致任何本地用户都能获得 root 权限。通常,在 shell 中(sudo -s 或 sudo -i)运行命令时,sudo 会转换特殊字符。但是,在使用 sudoedit -s 或 sudoedit -i 实际上没有转换,这使得缓冲区溢出成为可能。
利用这些漏洞,Qualys 研究人员可以在多个 Linux 发行版获得完整 root 权限,研究人员权限Debian 10(Sudo 1.8.27)、Ubuntu 20.04(Sudo 1.8.31)和 Fedora 33(Sudo 1.9.2)上重现了 CVE-2021-3156 漏洞。根据 Qualys 的说法,CVE-2021-3156 其他 漏洞Sudo 支持的操作系统与发行版相同。
漏洞在公开前已修复
第一个漏洞是 2011年 7 月Sudo 程序引入系统已接近 10年。它会影响 1.9.0 到 1.9.5p1从 1.8.2 到 1.8.31p2 所有旧版本的默认配置。
Qualys 1个月 13日 Sudo 程序的内部社区今天披露了这个漏洞Sudo 开发者正式推出 sudo 1.9.5p2 版,在这个版本中修复了漏洞。为了防止漏洞被滥用,直到现在 Qualys 正式披露了他们的发现。
要测试你的系统是否受到漏洞的影响,你必须首先使用非 root 用户身份登录系统并运行 “*sudoedit -s /“*命令。易受攻击的系统会导致 “sudoedit:” 开头的错误,修复系统将显示 “usage:”开头的错误。
使用 Sudo 将 root 授权给其他用户的系统管理员应尽快升级到 sudo 1.9.5p2 或更高版本。
想了解更多细节,可以查看 Qualys 发布的技术细节。
本文转自OSCHINA
标题:新 Linux sudo 漏洞使当地用户获得 root 权限
本文地址:https://www.oschina.net/news/128098/new-linux-sudo-flaw-lets-local-users-gain-root-privileges