新的Linux RCE漏洞在披露前洩漏- 允許透過CUPS列印調度程序執行任意程式碼
最近在一個廣泛使用的列印伺服器中發現了一個新漏洞,該伺服器預設安裝在許多基於Linux 和Unix 的圖形使用者介面系統中。 此漏洞的主要攻擊載體是CUPS(通用單元列印系統)列印調度程序,特別是cups-browsed,它有可能在零用戶互動要求的情況下遠端執行程式碼。
據報道,RHEL 和Canonical 給了該漏洞9.9 分的CVSS 分值,但這一分值引起了激烈的爭論,有人認為它的分數應該更低,因為雖然程式碼可以遠端下載到系統中,但在沒有使用者乾預的情況下無法執行。 幸運的是,儘管披露資訊在計劃於10 月私下披露之前已在網上洩露,但沒有證據表明該漏洞已被利用,這促使發現該漏洞的開發人員在其部落格上發布了完整的解釋。 在這種情況下,惡意行為者很可能會開始利用該漏洞。
根據研究人員Simone Margaritelli 的長篇博文,與CUPS 列印系統相關的服務很容易被遠端程式碼執行。 從本質上講,攻擊系統會讓列印調度程式相信它是一台印表機,並發送偽裝成印表機設定檔的惡意軟體(可能是任意可執行程式碼)。 這個過程不需要使用者乾預,因為CUPS 會接受透過連接埠*:631 發送的任何封包。
簡報:
- CVE-2024-47176 | cups-browsed <= 2.0.1 在UDP INADDR_ANY:631 上綁定,信任來自任何來源的任何資料包,以觸發指向攻擊者控制的URL 的Get-Printer-Attributes IPP 請求。
- CVE-2024-47076 | libcupsfilters <= 2.1b1 cfGetPrinterAttributes5 未驗證或消毒從IPP 伺服器傳回的IPP 屬性,從而向CUPS 系統的其他部分提供了攻擊者控制的資料。
- CVE-2024-47175 | libppd <= 2.1b1 ppdCreatePPDFromIPP2 在將IPP 屬性寫入臨時PPD 檔案時未驗證或消毒IPP 屬性,從而允許在產生的PPD 中註入攻擊者控制的資料。
- CVE-2024-47177 | cup-filters <=2.0.1 foomatic-rip 允許透過FoomaticRIPCommandLine PPD 參數執行任意指令。
特定的漏洞利用依賴大量未修補的漏洞,其中一些漏洞已有十多年的歷史,因此對於使用基於Linux 或Unix 的系統的用戶來說,這是一個特別令人擔憂的問題。 要使此攻擊向量發揮作用,系統需要安裝並運行CUPS(通用Unix 列印系統)和cups-browsed,而這是許多系統的預設設定。 根據Margaritelli 的說法,目前有20 萬至30 萬個系統連接到互聯網並提供列印服務,但Shodan 報告(見上面的截圖)稱,大約有7.6 萬個系統打開了CUPS 端口並連接到互聯網。
雖然研究人員聲稱大多數GNU/Linux 發行版以及潛在的ChromeOS 和macOS 都受到了影響,但應該注意的是,這並不是許多Linux 發行版的預設配置,尤其不應該是任何大型伺服器或資料中心的配置,這意味著最大的目標群體將是運行Linux 的私人PC 用戶。