Linux sudo 漏洞可能致使未經受權的特權訪問

在 Linux 中利用新發現的 sudo 漏洞可使某些用戶以 root 身份運行命令,儘管對此還有所限制。html

sudo 命令中最近發現了一個嚴重漏洞,若是被利用,普通用戶能夠 root 身份運行命令,即便在 /etc/sudoers 文件中明確禁止了該用戶這樣作。linux

sudo 更新到版本 1.8.28 應該能夠解決該問題,所以建議 Linux 管理員儘快這樣作。git

如何利用此漏洞取決於 /etc/sudoers 中授予的特定權限。例如,一條規則容許用戶以除了 root 用戶以外的任何用戶身份來編輯文件,這實際上將容許該用戶也以 root 用戶身份來編輯文件。在這種狀況下,該漏洞可能會致使很是嚴重的問題。github

用戶要可以利用此漏洞,須要在 /etc/sudoers 中爲用戶分配特權,以使該用戶能夠以其餘用戶身份運行命令,而且該漏洞僅限於以這種方式分配的命令特權。數據庫

此問題影響 1.8.28 以前的版本。要檢查你的 sudo 版本,請使用如下命令:安全

$ sudo -V
Sudo version 1.8.27     <===
Sudoers policy plugin version 1.8.27
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.27
複製代碼

該漏洞已在 CVE 數據庫中分配了編號 CVE-2019-14287。它的風險是,任何被指定能以任意用戶運行某個命令的用戶,即便被明確禁止以 root 身份運行,它都能逃脫限制。bash

下面這些行讓 jdoe 可以以除了 root 用戶以外的其餘身份使用 vi 編輯文件(!root 表示「非 root」),同時 nemo 有權運行以除了 root 身份之外的任何用戶使用 id 命令:spa

# affected entries on host "dragonfly"
jdoe dragonfly = (ALL, !root) /usr/bin/vi
nemo dragonfly = (ALL, !root) /usr/bin/id
複製代碼

可是,因爲存在漏洞,這些用戶中要麼可以繞過限制並以 root 編輯文件,或者以 root 用戶身份運行 id 命令。.net

攻擊者能夠經過指定用戶 ID 爲 -14294967295 來以 root 身份運行命令。code

sudo -u#-1 id -u
複製代碼

或者

sudo -u#4294967295 id -u
複製代碼

響應爲 1 代表該命令以 root 身份運行(顯示 root 的用戶 ID)。

蘋果信息安全團隊的 Joe Vennix 找到並分析該問題。


via: www.networkworld.com/article/344…

做者:Sandra Henry-Stocker 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章
相關標籤/搜索