發現一個影響 systemd 的拒絕服務漏洞

日前,有消息稱,調查組 Qualys 發現拒絕服務漏洞 由於 systemd 中的堆棧耗盡,因此任何非特權用戶都可以利用此漏洞 阻止systemd。

脆弱性 已編目為 (CVE-2021-33910) 提到它影響systemd是由於嘗試通過FUSE掛載路徑大小大於8MB的目錄時失敗導致控制初始化進程(PID1)耗盡堆棧內存並被鎖定,導致系統處於“恐慌”狀態。

該漏洞由 systemd v220(2015 年 7410616 月)的 commit XNUMXc(“內核:返工單元名稱操作和驗證邏輯”)引入,該漏洞將堆上的 strdup() 替換為電池中的 strdup()。 成功利用此漏洞允許任何非特權用戶通過內核恐慌導致拒絕服務。

Qualys 研究團隊確認該漏洞後,Qualys 立即參與了該漏洞的負責任披露,並與作者和開源發行版協調公佈了該漏洞。

研究人員提到 問題 與 CVE-2021-33910 相關的原因是 systemd監控並解析/proc/self/mountinfo的內容 它處理 unit_name_path_escape () 函數中的每個掛載點,這會導致執行名為“strdupa ()”的操作,該操作負責在堆棧而不是堆上分配數據。

這就是為什麼自從 允許的最大堆棧大小是有限的 通過“RLIMIT_STACK”函數, 處理到掛載點的路徑太長會導致“PID1”進程掛起 這導致系統停止。

此外,他們還提到,要使攻擊發揮作用,最簡單的 FUSE 模塊可以結合使用高度嵌套的目錄作為掛載點,其路徑大小超過 8 MB。

坦比恩 值得一提的是,Qualys 研究人員 提到一個特定的案例 脆弱,因為 特別是對於 systemd 248 版,該漏洞無法正常工作 由於 systemd 代碼中存在導致 /proc/self/mountinfo 失敗的錯誤。 同樣有趣的是,2018 年也出現了非常相似的情況,因為在嘗試編寫 Linux 內核中的 CVE-2018-14634 漏洞的漏洞利用程序時,Qualys 研究人員在 systemd 中發現了另外三個關鍵漏洞。

關於漏洞 紅帽團隊提到 任何符合 RHEL 標準的產品也可能會受到影響。

這包括:

  • 基於 RHEL 或 UBI 容器鏡像的產品容器。 這些鏡像會定期更新,並且可以在容器健康指數(Red Hat Container Catalog(https://access.redhat.com/containers)的一部分)中查看容器狀態,該狀態表明該缺陷是否有可用的修復程序.
  • 從 RHEL 渠道提取軟件包的產品。 確保這些產品環境中的底層 Red Hat Enterprise Linux systemd 軟件包是最新的。

由於此漏洞的攻擊面廣泛, Qualys 建議用戶應用適當的補丁 (幾天前已經發布了)立即針對此漏洞。

如前所述,該問題自 systemd 220(2015 年 XNUMX 月)以來就出現了,並且 已經修復 的主要存儲庫 systemd 並已在大多數發行版中得到修復 Linux main 及其衍生版本,您可以在以下鏈接中查看狀態(Debian, Ubuntu, Fedora, RHEL,SUSE, ).

最後, 如果您有興趣了解更多信息 關於這個漏洞,你可以查看它的詳細信息 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。