据悉,Sudo 特指“超级用户”。作为一个系统命令,其允许用户以特殊权限来运行程序或命令,而无需切换使用环境(通常以 root 用户身份运行命令)。
默认情况下,在大多数 Linux 发行版中(如屏幕快照所示),/ etc / sudoers 的 RunAs 规范文件中的 ALL 关键字,允许 admin 或 sudo 分组中的所有用户,以系统上任何有效用户的身份运行任何命令。
然而由于特权分离是 Linux 中最基本的安全范例之一,因此管理员可以配置 sudoers 文件,来定义哪些用户可以运行哪些命令。
这样一来,基板限制了用户以 root 身份运行特定或任何命令,该漏洞也可允许用户绕过此安全策略,并完全控制系统。
Sudo 开发者称:“只要 Runas 规范明确禁止 root 访问、首先列出 ALL 关键字,具有足够 sudo 权限的用户就可以使用它来以 root 身份运行命令。”
据悉,该漏洞由苹果信息安全部门的 Joe Vennix 追踪发现(CVE-2019-14287)。且想要利用这个 bug,只需 Sudo User ID -1 或 4294967295 。
这是因为将用户 ID 转换为用户名的函数,会将 -1(或无效等效的 4294967295)误认为 0,而这正好是 root 用户 User ID 。
此外,由于通过 -u 选项指定的 User ID 在密码数据库中不存在,因此不会运行任何 PAM 会话模块。
漏洞复现如下:
影响版本
1.8.28之前的所有 Sudo 版本均受影响。
修复方案
Sudo 1.8.28 版本已修复该漏洞。强烈建议 Linux用户将 sudo包手动更新至最新版本。
本文始发于微信公众号(飓风网络安全):Linux曝出Sudo提权漏洞 受限用户亦可运行root命令
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论