Sudo bug 可导致 Linux和macOS 普通用户获得 root 权限


存在十年之久的sudo漏洞在Linux和macOS中公开,它允许任何用户获得root特权,现在终于在1.8.31版本中对其进行了修补。

该安全漏洞位于pwfeedback选项中,该选项默认在Linux Mint和elementary OS等发行版中启用。由于存在此错误,即使用户未在sudoers文件中列出,也可以触发基于堆栈的缓冲区溢出。

该漏洞存在于1.7.1至1.8.25p1版本中,但是1.8.26到1.8.30的版本可能会被滥用,因为它们包含了EOF处理该漏洞的变化。Sudo 1.7.1是在2009年4月19日发布的,而第一个补丁版本(1.8.26)是在2019年9月17日发布的,所以这个bug大约存在了10年之久。

补丁已可用

1.8.31版包含一个阻止漏洞利用的补丁程序,但是如果无法安装此最新版本,则禁用pwfeedback是确保安全的最简单方法。只有启用了pwfeedback的设备才会受到攻击。

“利用此漏洞不需要sudo权限,只需启用pwfeedback。可以通过在提示输入密码时通过管道将大量输入传递给sudo来重现该错误。”几天前发布的一份公告解释道。

“如果在sudoers中启用了pwfeedback,则堆栈溢出可能会允许非特权用户升级到root帐户。由于攻击者完全控制了用于使缓冲区溢出的数据,因此存在很高的可利用性。”

如果要检查是否在特定设备上启用了pwfeedback,则可以使用sudo -l命令:

[linuxidc@linux:~/www.linuxboy.net]$ sudo -l
[sudo] linuxidc 的密码:
匹配 %2$s 上 %1$s 的默认条目:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

用户 linuxidc 可以在 linux 上运行以下命令:
    (ALL : ALL) ALL
[linuxidc@linux:~/www.linuxboy.net]$ sudo -V
Sudo 版本 1.8.21p2
Sudoers 策略插件版本 1.8.21p2
Sudoers 文件语法版本 46
Sudoers I/O plugin version 1.8.21p2

Sudo bug 可导致 Linux和macOS 普通用户获得 root 权限

Sudo bug 可导致 Linux和macOS 普通用户获得 root 权限

pwfeedback是一项新增功能,专门用于在用户在特定窗口中输入密码时以星号形式为用户提供视觉反馈。 虽然某些Linux发行版附带禁用了此选项,但其他发行版默认情况下将其启用,并且应优先更新运行这些发行版的设备,以防止任何可能的利用。

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-02/162241.htm

相关内容