一種使用 ny 登錄的非特權用戶可以利用舊的錯誤 sudo 獲得 root 特權。它已被評為 Linux 和類 Unix 操作系統的重要安全問題。 Qualys 研究團隊發現堆溢出漏洞 sudo 本身是隱藏的。 過去 10 年不明顯..由於這個錯誤 本地用戶無需身份驗證即可獲得 root 訪問權限 (不需要用戶密碼)。您需要盡快修補操作系統。
系統管理員使用 sudo 命令將權限授予特定用戶,例如重新啟動 Nginx 或重新啟動 Apache 服務器以進行服務器管理。 像 Ansible 這樣的 IT 自動化工具也是 sudo 和繁重的。
致命錯誤 sudo 危及 Linux 和 Unix 系統
有兩個嚴重的 sudo 漏洞。
- 解析命令行時,發現 sudo 處理內存不正確。本地攻擊者可以利用此問題來獲得對管理員帳戶的未經授權的訪問。 (CVE-2021-3156)
- 事實證明,sudosudoedit 實用程序錯誤地處理了目錄權限檢查。本地攻擊者可以利用此問題繞過文件權限並確定目錄的存在。 (CVE-2021-23239)
CVE-2021-3156:sudo 上基於堆的緩衝區溢出 (Baron Samedit)
從 博文:
Sudo 是在大多數(如果不是全部)基於 Unix 和 Linux 的操作系統中都可以找到的強大實用程序。這允許用戶以其他用戶的安全權限運行程序。該漏洞本身已經隱藏了近十年。它於 2011 年 7 月推出(提交 8255ed69)並影響默認配置中從 1.8.2 到 1.8.31p2 的所有舊版本以及從 1.9.0 到 1.9.5p1 的所有穩定版本。
成功利用此漏洞可能允許非特權用戶在易受攻擊的主機上獲得 root 特權。 Qualys 安全研究人員獨立驗證了該漏洞,並為 Ubuntu 20.04 (Sudo 1.8.31)、Debian 10 (Sudo 1.8.27) 和 Fedora 33 (Sudo 1.9.2) 開發了多個利用變種。我在其中找到了它。其他操作系統和發行版也可能被濫用。
減輕
可以通過將系統更新到下一個軟件包版本來解決此問題。
Ubuntu 和 Debian Linux
必須修補到 Ubuntu 版本 16.04 / 18.04 / 20.04 LTS 和 20.10 使用 apt 命令/apt-get 命令:sudo apt update
sudo apt upgrade
## or just install sudo upgrade ##
sudo apt install sudo
sudo --version
對於穩定的 Debian 發行版(Buster),這個問題
已經修復
在版本 1.8.27-1 + deb10u3 中。因此,也可以在 Debian 中運行上述命令。
Arch Linux
打開終端應用程序並運行以下 pacman 命令。sudo pacman -Syu
:: Synchronizing package databases... core 134.3 KiB 163 KiB/s 00:01 [#####################] 100% extra 1650.4 KiB 2.07 MiB/s 00:01 [#####################] 100% community 5.3 MiB 8.55 MiB/s 00:01 [#####################] 100% :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Packages (17) audit-3.0-1 bpytop-1.0.60-1 ca-certificates-mozilla-3.61-1 filesystem-2021.01.19-1 gnupg-2.2.27-1 go-2:1.15.7-1 iptables-1:1.8.7-1 krb5-1.18.3-1 libcap-2.47-1 libgcrypt-1.9.0-2 libnftnl-1.1.9-1 pam-1.5.1-1 sqlite-3.34.1-1 sudo-1.9.5.p2-1 tar-1.33-1 tzdata-2021a-1 zstd-1.4.8-1 Total Download Size: 138.39 MiB Total Installed Size: 604.42 MiB Net Upgrade Size: -0.05 MiB :: Proceed with installation? [Y/n]
Red Hat Enterprise Linux 8.x / 7.x 和 CentOS 和 Fedora Linux
輸入dnf或yum命令修復錯誤 RHEL 7.x / 8.x 和 Fedora Linux:sudo dnf update
Suse 和 OpenSUSE Linux
SUSE 企業版 Linux 版本 12.x 什麼時候 15.x 是 也會受到影響。例如,您可以使用 zypper 命令。sudo zypper lp -a | grep -i sudo
sudo zypper up
自由BSD
我還沒有測試過,但我需要運行以下 pkg 命令來更新 FreeBSD 端口或 pkg。sudo pkg update
sudo pkg upgrade
Updating FreeBSD repository catalogue... Fetching packagesite.txz: 100% 6 MiB 3.2MB/s 00:02 Processing entries: 100% FreeBSD repository update completed. 30177 packages processed. All repositories are up to date. [[email protected] ~]# pkg upgrade Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Checking for upgrades (1 candidates): 100% Processing candidates (1 candidates): 100% The following 1 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: sudo: 1.9.5p1 -> 1.9.5p2 Number of packages to be upgraded: 1 942 KiB to be downloaded. Proceed with this action? [y/N]: y [1/1] Fetching sudo-1.9.5p2.txz: 100% 942 KiB 964.4kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Upgrading sudo from 1.9.5p1 to 1.9.5p2... [1/1] Extracting sudo-1.9.5p2: 100% You may need to manually remove /usr/local/etc/sudoers if it is no longer needed.
高山 Linux
使用 apk 命令請求更新 sudo。apk update
apk upgrade
蘋果系統
您必須等待 Apple 發布更新。
全部的
這些都是舊的緩衝區溢出漏洞,本地用戶無需密碼或身份驗證即可利用這些漏洞。因此,要刪除 sudo,您需要應用修復程序。 兩個實用程序, 這是 OpenBSD 的默認設置。當然,您也可以從 NetBSD 或 FreeBSD 端口安裝 doas。一個在這裡 Linux 端口 還。