Sudo 出現可讓非特權用戶獲得root 權限的漏洞
Sudo維護團隊指出,從Sudo 1.7.1到1.8.25p1都包含一項可讓非特權用戶獲得root權限的漏洞(編號CVE-2019-18634),他們已在最新發布的1.8.31版本中完成修復,同時提供了暫時緩解的方法。Sudo 1.7.1 於2009年4月19日發布,因此該漏洞已存在大約10年。
另外,1.8.26 到1.8.30 版本也發現存在CVE-2019-18634 漏洞,但1.8.26 版本發佈時曾變更EOF(end of file)處理的設定,致使該漏洞無法被利用。

Sudo 是UNIX 和Linux 操作系統廣泛使用的工具,它讓系統管理員給普通用戶分配合理的權限,以執行一些只有管理員或其他特定帳號才能完成的任務。此次被發現的高危漏洞在啟用了pwfeedback 選項的系統中很容易被利用,根據漏洞的描述,pwfeedback 功能讓系統能夠以’*’ 表示目前輸入的字符長度,原意是一項提升安全性的功能,但安全研究員Joe Vennix 發現系統啟用pwfeedback 功能後,用戶可能會觸發基於堆棧的緩衝區溢出bug,從而獲得root 權限。
雖然在sudo 的上游版本中默認情況下未啟用pwfeedback,但某些下游發行版,例如Linux Mint 和elementary OS 在其默認sudoers 文件中啟用了它(Ubuntu 不受影響)。
具有sudo 特權的用戶可以通過運行以下命令來檢查是否啟用了pwfeedback:
sudo-l
如果在”Matching Defaults entries”輸出中列出了pwfeedback,則sudoers 配置將受到影響。如下所示的sudoers 配置就很容易受到攻擊:
$sudo -lMatchingDefaults entries for millert on linux-build:insults,pwfeedback, mail_badpass, mailerpath=/usr/sbin/sendmailUsermillert may run the following commands on linux-build:(ALL : ALL) ALL
最後,建議受影響的系統盡快將sudo 升級至最新版本 1.8.31。如果沒條件升級到新版本,在啟用了 pwfeedback 的sudoer 配置文件裡,將“Defaults pwfeedback”改成“Defaults !pwfeedback”,也能有效阻止攻擊。