資安公司Qualys在GNU C函式庫的動態載入程式,發現了一個緩衝區溢位漏洞,這個漏洞編號為CVE-2023-4911,並被稱之為Looney Tunables。資安研究人員在Fedora 37和38、Ubuntu 22.04和23.04,還有Debian 12和13的預設安裝上,都發現了這個漏洞,其他發行版可能也存在此問題。

GNU C函式庫被稱為glibc,是GNU系統和大多數執行Linux核心系統的C函式庫,其定義了典型程式所需要的系統呼叫和基本功能,而動態載入程式則是glibc中的重要部分,負責準備和執行程式,當程式啟動時,該載入程式會先檢查該程式以確定需要使用的共用函式庫,接著便會搜尋這些函式庫,將他們載入到記憶體中,並在執行的時候將這些函式庫與可執行檔連結。

而這個Looney Tunables漏洞便是發生在glibc的動態載入程式,在處理GLIBC_TUNABLES環境變數的時候。GLIBC_TUNABLES是glibc引入的一個環境變數,讓使用者可以在不重新編譯相關應用程式和函式庫本身,就可以在執行時動態調整函式庫行為,這提供了一種靈活性,允許用戶對特定系統或應用程式需求進行最佳化。

但這種靈活性也帶來了一些安全性的問題,進而導致GLIBC_TUNABLES環境變數存在緩衝區溢位漏洞。

而資安研究人員在Fedora、Ubuntu和Debian等Linux發行版,皆成功利用Looney Tunables漏洞,完全獲得Root權限,資安人員提到,這凸顯了該漏洞的嚴重性,以及影響範圍的廣泛。值得注意的是,這個漏洞雖然是研究人員手動發現的,但是藉由利用模糊測試工具,也能夠在不到一秒鐘的時間,重新發現這個溢出漏洞。

Qualys已經開發了可以利用這個漏洞的程式,但是目前他們選擇不公開程式碼以保護用戶,避免這個漏洞被惡意利用,但是研究人員也提到,緩衝區溢出相對容易被利用,因此他們預期其他研究者也能很快找到並公開攻擊手法。

而這可能會讓大量系統面臨風險,特別是glibc被許多Linux發行版廣泛採用,目前已知使用musl libc而非glibc的Alpine Linux不受此漏洞影響,但採用Fedora、Ubuntu與Debian的用戶應立刻修補該漏洞,以確保系統安全性。

熱門新聞

Advertisement