Linux用戶注意了:Linux Sudo被曝漏洞

作爲安裝在幾乎所有基於UNIX和Linux操作系統上的核心命令,Sudo是最重要、最強大且最常用的實用程序之一。

近日,安全專家發現Sudo中出現一個新漏洞,該漏洞是sudo安全策略繞過問題,可導致惡意用戶或程序在目標Linux系統上以root身份執行任意命令。

Sudo 的全稱是“superuserdo”,它是Linux系統管理指令,允許用戶在不需要切換環境的前提下以其它用戶的權限運行應用程序或命令,通常是以 root 用戶身份運行命令,以減少 root 用戶的登錄和管理時間,同時提高安全性。

幸運的是,該漏洞僅在非標準配置中有效,並且大多數Linux服務不受影響。

據悉,這個漏洞的編號是 CVE-2019-14287 ,它是由蘋果信息安全部門的研究員 Joe Vennix 發現並分析的 。

在獲得此漏洞之前,重要的是要掌握一些有關sudo命令如何工作以及如何進行配置的背景信息。

Linux操作系統上執行命令時,非特權用戶可以使用sudo(超級用戶身份)命令以root身份執行命令,只要它們已被授予權限或知道root用戶的密碼即可。

sudo命令還可以配置爲允許用戶通過向/etc/sudoers配置文件添加特殊命令來以其他用戶身份運行命令。

例如,以下命令允許用戶’test’以root身份以外的任何用戶身份運行/usr/bin/vim和usr/bin/id命令。

test ALL = (ALL, !root) /usr/bin/vim
test ALL = (ALL, !root) /usr/bin/id

爲了使’test’用戶執行上述命令之一,他們將使用帶有-u參數的sudo命令來指定運行用戶。例如,以下命令將以vibleing-test用戶身份啓動vim。

sudo -u bleeping-test vim 

在Linux中創建用戶時,將爲每個用戶分配一個UID。如下所示,用戶’test’的UID爲1001,'bleeping-test’用戶的UID爲1002。

啓動sudo命令時,用戶可以使用這些UID代替用戶名。例如,下面的命令將再次以“測試”的形式啓動VIM,但這一次是通過提供用戶的UID來啓動的。

sudo -u#1002 vim

Sudo漏洞

蘋果安全研究員Joe Vennix發現一個錯誤,該錯誤允許用戶通過在sudo命令中使用-1或 4294967295 UID以root身份啓動允許的sudo命令。

例如,即使在/etc/sudoers文件中明確拒絕了‘test’用戶,以下命令也可以利用該錯誤以root身份啓動/usr/bin/id用戶。

sudo -u#-1 id

下面也說明了如何將這個錯誤與/usr/bin/id命令一起使用以獲取root特權。

儘管該錯誤功能強大,但重要的是要記住,只有通過sudoers配置文件爲用戶提供了對命令的訪問權限,它才能起作用。如果不是這樣,並且大多數Linux發行版默認情況下都沒有,那麼此錯誤將無效。

據悉,CVE-2019-14287漏洞影響1.8.28之前的Sudo版本。

強烈建議用戶儘快將sudo軟件包更新爲最新版本!

參考文章:

Linux SUDO Bug Lets You Run Commands as Root, Most Installs Unaffected

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章