Sudo漏洞允许非特权Linux和macOS用户以root身份运行命令

苹果安全团队成员Joe Vennix发现了sudo实用程序中的一个重要漏洞,即在特定配置下,它可能允许低特权用户或恶意程序在Linux或macOS系统上以 root身份执行命令。

Sudo是最重要、功能最强大且最常用的实用程序之一,是预装在macOS设备和几乎所有UNIX或Linux操作系统上的重要命令。Sudo给了用户不同身份的特权来运行应用程序或命令,而无需切换运行环境。

Sudo漏洞(CVE-2019-18634)

最新发现的提权漏洞(CVE-2019-18634)主要是因为1.8.26之前的Sudo版本中的堆栈缓冲区溢出问题。

根据Vennix的说法,只有在sudoers配置文件中启用了“ pwfeedback ”选项时,攻击者才能利用该漏洞。当用户在终端中输入密码时,攻击者可以看到该文件提供的反馈,以星号(*)标注。

需要注意的是,在sudo的主流版本或许多其他软件包中,默认情况下并不会启用pwfeedback功能。然而,某些Linux发行版(例如Linux Mint和Elementary OS)在其默认sudoers文件中的确启用了pwfeedback。

除此之外,启用pwfeedback时,即使没有sudo权限,任何用户都可以利用此漏洞运行命令。

Sudo开发人员Todd C. Miller 解释说: “在提示输入密码时,利用联网通道向sudo传递大量输入信息,因为攻击者已经获取了缓冲区溢出的数据,因此利用该漏洞的可能性更高。”

受影响的用户应及时打补丁

用户要确定sudoers配置是否受到影响,可以在Linux或macOS终端上运行“ sudo -l”命令,来查看是否已启用“ pwfeedback”选项,并显示在“匹配默认项”中。

如果发现已被启用,则可以在sudoers配置文件中将“ Defaults pwfeedback”更改为“ Defaults!pwfeedback”来禁用那些易受攻击的组件,以防止利用提权漏洞。

Vennix向Sudo维护人员报告了此漏洞,Sudo的维护人员在上周晚些时候发布了带有修补程序的sudo 1.8.31版。

Miller说:“尽管在sudo版本1.8.26至1.8.30中存在这一逻辑错误,但是由于sudo 1.8.26中引入的EOF处理方式的变化,该漏洞无法被利用。”

苹果上周还更新了macOS High Sierra 10.13.6、macOS Mojave 10.14.6、macOS Catalina 10.15.2版本的补丁程序。

Joe Vennix在去年10月报告了sudo中的类似漏洞,攻击者只要通过指定用户ID“ -1”或“ 4294967295” 就可以利用该漏洞以root身份运行命令。

*参考来源: Thehackernews ,Sandra1432编译,转载请注明来自FreeBuf.COM