微軟研究員AndresFreund偶然發現可以破解sshd身份驗證的惡意代碼。如果沒有被發現,它可能會對Linux構成嚴重威脅。開源社區對這一事件作出反應,肯定這一發現的偶然性,以及它是如何幸運地在對更廣泛的Linux社區構成重大風險之前被及早發現的。
微軟的PostgreSQL開發人員安德烈斯-弗羅因德(Andres Freund)在進行一些例行的微基準測試時,註意到 ssh 進程出現 600 毫秒的小延遲。
一波未平一波又起,Freund 最終偶然發現一種供應鏈攻擊,其中涉及 XZ 軟件包中被混淆的惡意代碼。他將這一發現發佈在開源安全郵件列表上,開源社區從此開始關註這一事件。
開發社區迅速揭露這一攻擊是如何被巧妙地註入 XZ utils 的,XZ utils 是一個小型開源項目,至少自 2009 年以來一直由一名無償開發人員維護。與違規提交相關的賬戶似乎玩起長線遊戲,慢慢贏得 XZ 開發人員的信任,這讓人們猜測惡意代碼的作者是一個老練的攻擊者,可能隸屬於某個國傢機構。
該惡意代碼的正式名稱為 CVE-2024-3094,CVSS 評分為最高的 10 分。紅帽公司報告說,惡意代碼修改 liblzma 中的函數,這是一個數據壓縮庫,是 XZ utils 軟件包的一部分,也是幾個主要 Linux 發行版的基礎部分。
然後,任何與 XZ 庫鏈接的軟件都可以使用這些修改過的代碼,並允許截取和修改與該庫一起使用的數據。據 Freund 稱,在某些條件下,這個後門可以讓惡意行為者破壞 sshd 身份驗證,從而允許攻擊者訪問受影響的系統。Freund 還報告說,XZ utils 5.6.0 和 5.6.1 版本也受到影響。
Red Hat 在 Fedora 41 和 Fedora Rawhide 中發現存在漏洞的軟件包,建議用戶停止使用,直到有更新可用,但 Red Hat Enterprise Linux (RHEL) 仍未受到影響。SUSE 已發佈 openSUSE(Tumbleweed 或 MicroOS)的更新。Debian Linux 穩定版是安全的,但測試版、不穩定版和實驗版由於軟件包受損,需要 xz-utils 更新。在 3 月 26 日至 3 月 29 日期間更新的 Kali Linux 用戶需要再次更新以獲得修復,而在 3 月 26 日之前更新的用戶不受此漏洞影響。
不過,正如許多安全研究人員指出的那樣,情況仍在發展中,可能會發現更多漏洞。目前還不清楚其有效載荷是什麼。美國網絡安全和基礎設施安全局建議人們降級到未被破壞的 XZ utils 版本,即早於 5.6.0 的版本。安全公司還建議開發人員和用戶進行事件響應測試,查看是否受到影響,如果受到影響,則向 CISA 報告。
幸運的是,這些受影響的版本似乎並沒有被納入任何主要 Linux 發行版的生產版本中,但安全公司 Analygence 的高級漏洞分析師 Will Dormann 告訴 Ars Technica,這次發現可謂千鈞一發。他說:"如果沒有被發現,這將給世界帶來災難。"