Glibc ld.so 中的漏洞,可讓您取得系統 root 權限

Qualys 已在 ld.so 連結器中發現一個嚴重漏洞 (CVE-2023-4911),該連結器是 Glibc (GNU libc) 系統 C 函式庫的一部分。此漏洞允許本機使用者在執行帶有 suid root 標誌的可執行檔(例如 /usr/bin/su)之前,透過在 GLIBC_TUNABLES 環境變數中指定特製資料來提升其權限。

在 Fedora 37 和 38 中已經證實了該漏洞可被成功利用。 Ubuntu 22.04和23.04, Debian 12 和 13。預計漏洞還會影響其他使用 Glibc 的發行版,例如基於 Musl 系統 C 函式庫的發行版(如 Alpine)。 Linux不受此問題影響。該漏洞已在 10 月 2 日發布的修補程式中修復。您可以在以下頁面追蹤發行版的軟體包更新: Debian, UbuntuRHEL、SUSE/openSUSE、Fedora、Arch、Gentoo、ALT Linux.

該漏洞是由 2021 年 4 月引入並包含在 glibc 2.34 中的一項變更引起的。由於 GLIBC_TUNABLES 環境變數中指定的字串的解析程式碼存在錯誤,因此變數中參數的組合不正確導致解析值超出分配緩衝區的末端。當參數以雙重賦值的形式指定,而不是標準的「name=val」序列時,就會出現此問題:「name=name=val」。在這種情況下,賦值會被處理兩次,第一次是“name=name=val”,第二次是“name=val”。這種雙重處理的結果為“name=name=val:name=val”,超出了 tunestr 緩衝區的大小。

研究人員開發了一種穩定的漏洞程序,幾乎任何帶有 suid root 標誌的程式都可以利用該漏洞來取得 root 權限。例外情況包括 sudo 工具(它會修改 ELF 檔案中的 RUNPATH 值)以及 Fedora 系統中的 change 和 passwd 工具(它們受到單獨的 SE 規則保護)。Linux)以及 snap-confine 實用程序 Ubuntu (受單獨的 AppArmor 規則保護)。所提出的利用方法在 RHEL 8 和 RHEL 9 上也無法運作,儘管這些分支有漏洞(攻擊需要建立不同的漏洞程式)。漏洞利用程式碼將在漏洞廣泛修復後發布。您可以使用以下命令檢查您的系統是否有此漏洞,如果出現問題,該命令將崩潰:env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/suhelp

另外,Glibc 中的另外兩個漏洞也已修復:

  • CVE-2023-4806 – getaddrinfo() 函數中存在一個釋放後重複使用漏洞。當 NSS 外掛程式僅實作「_gethostbyname2_r」和「_getcanonname_r」回調,而不支援「_gethostbyname3_r」回呼時,就會出現此漏洞。要利用此漏洞,DNS 伺服器必須傳回大量請求主機的 IPv6 和 IPv4 位址,這將導致在設定 AI_CANONNAME、AI_ALL 和 AI_V4MAPPED 標誌時,呼叫 AF_INET6 系列 getaddrinfo 函數的進程崩潰。
  • CVE-2023-5156 - 在設定了 AI_CANONNAME、AI_ALL 和 AI_V4MAPPED 標誌的情況下呼叫 AF_INET6 位址系列的 getaddrinfo 函數時發生記憶體洩漏。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster