近日,有研究人員發(fā)現(xiàn),Linux 操作系統(tǒng)中的 util-linux 軟件包 wall 命令中存在一個漏洞,該漏洞名為 WallEscape,被追蹤為 CVE-2024-28085,黑客能夠利用該漏洞竊取密碼或更改剪貼板。
據(jù)調(diào)查,該漏洞已存在 11 年之久,也就是說該軟件包 2.40 版本前的每個版本都存在該漏洞。研究人員表示,WallEscape 可能會影響 "wall "命令,該命令在 Linux 系統(tǒng)中通常用于向登錄到同一系統(tǒng)(如服務(wù)器)的所有用戶的終端發(fā)送消息彈窗。
由于在處理通過命令行參數(shù)輸入時,轉(zhuǎn)義序列會被過濾,因此無權(quán)限用戶可利用該漏洞,使用轉(zhuǎn)義控制字符在其他用戶的終端機(jī)上創(chuàng)建假的 SUDO 提示,并誘使他們輸入管理員密碼。
安全研究員 Ferrante 解釋稱,如果 "mesg "實(shí)用程序處于活動狀態(tài),且 wall 命令具有 setgid 權(quán)限,那在這樣的情況下,該漏洞就有可能被成功利用。
同時,研究人員指出,這兩種情況在 Ubuntu 22.04 LTS(Jammy Jellyfish)和 Debian 12.5(Bookworm)上都存在,但在 CentOS 上不存在。
目前,WallEscape 的概念驗(yàn)證利用代碼已經(jīng)發(fā)布,同時也公布了攻擊者利用該漏洞的技術(shù)細(xì)節(jié)。
除了技術(shù)細(xì)節(jié)外,研究人員還介紹了可能導(dǎo)致不同結(jié)果的利用方案。其中一個案例描述了為 Gnome 終端創(chuàng)建虛假 SUDO 提示以誘騙用戶輸入密碼的步驟。
Ferrante 也提到,黑客可以通過為 Gnome 終端創(chuàng)建虛假的 SUDO 提示,誘騙用戶輸入敏感信息作為命令行參數(shù)。但需要一些預(yù)防措施,比如使用 wall 命令向目標(biāo)傳遞一個腳本,改變他們在終端中的輸入(前景色、隱藏輸入、睡眠時間),這樣虛假的密碼提示就會作為合法請求通過。
要找到密碼,攻擊者就必須檢查 /proc/$pid/cmdline 文件中的命令參數(shù),在多個 Linux 發(fā)行版上,非特權(quán)用戶都能看到這些參數(shù)。
另一種攻擊方式是通過轉(zhuǎn)義序列更改目標(biāo)用戶的剪貼板。研究人員強(qiáng)調(diào),這種方法并不適用于所有終端模擬器,Gnome 就是其中之一。
但由于人們可以通過墻發(fā)送轉(zhuǎn)義序列,因此如果用戶使用的終端支持這種轉(zhuǎn)義序列,攻擊者就可以將受害者的剪貼板更改為任意文本。
研究人員在漏洞報告中提供了設(shè)置陷阱和運(yùn)行攻擊的演示代碼,并解釋了兩種利用方案的工作原理。
值得注意的是,利用 WallEscape 依賴于本地訪問(物理訪問或通過 SSH 進(jìn)行遠(yuǎn)程訪問),這限制了其嚴(yán)重性。
其中涉及到的安全風(fēng)險來自在多用戶設(shè)置(如組織的服務(wù)器)中與受害者訪問同一系統(tǒng)的無權(quán)限用戶。
安全人員建議廣大用戶立即升級到 linux-utils v2.40,以修補(bǔ)漏洞。一般來說,可通過 Linux 發(fā)行版軟件包管理器上的標(biāo)準(zhǔn)升級通道進(jìn)行,但可能會有一些延遲。
另外,系統(tǒng)管理員還可通過移除 "wall "命令中的 setgid 權(quán)限,或使用 "mesg "命令將其標(biāo)志設(shè)置為 "n",并禁用消息廣播功能,這樣就能有效緩解 CVE-2024-28085 漏洞帶來的影響。