新的Linuxsudo漏洞使本地用户获得root权限

发布时间:2025-03-19 点击:17
近日被技术专家所发现的新 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 发布的技术细节。
本文地址:https://www.oschina.net/news/128098/new-linux-sudo-flaw-lets-local-users-gain-root-privileges


网站关键词排名掉了可能是哪些原因导致的?
做手机站要依据的规则
网络营销专家分析网站日志
定制企业网站相较于其它类型的网有哪些优势?
网站页面设计技巧
网站建设可以提高企业网站用户体验的方法有哪些
做网站都需要什么需要哪些材料
网页设计要求设计中的色彩理论