Nimbuspwn,networkd-dispatcher 中的一個漏洞,允許以 root 身份執行命令

很多 微軟安全研究人員發布 那個新聞 發現了兩個漏洞 (CVE-2022-29799,CVE-2022-29800) 在 networkd-dispatcher 服務中 代號為 Nimbuspwn,允許非特權用戶以 root 身份執行任意命令。

networkd-dispatcher zh 許多 Linux 發行版使用包括 Ubuntu,它使用 systemd-networkd 後台進程來配置網絡設置並執行類似於 NetworkManager-dispatcher 的功能,即它在網絡連接狀態發生變化時處理腳本執行,例如,它用於在建立 VPN 後啟動 VPN主網絡連接。

Microsoft 發現了幾個漏洞,統稱為 Nimbuspwn,可能允許攻擊者在許多 Linux 桌面端點上將權限提升為 root。 這些漏洞可以被鏈接起來以獲得 Linux 系統的 root 權限,從而允許攻擊者部署諸如 root 後門之類的有效負載,並通過執行任意 root 代碼執行其他惡意操作。 此外,Nimbuspwn 漏洞可能會被更複雜的威脅(例如惡意軟件或勒索軟件)用作 root 訪問的載體,以進一步影響易受攻擊的設備。

我們通過在對以 root 身份運行的服務執行代碼審查和動態分析時偵聽系統總線上的消息來發現漏洞,並註意到一個名為 networkd-dispatcher 的 systemd 單元中的奇怪模式。

與 networkd-dispatcher 關聯的後台進程以 root 身份運行 並通過 D-Bus 監聽事件。 systemd-networkd 服務發送與網絡連接狀態變化相關的事件信息。 問題是非特權用戶可以引發不存在的狀態事件並開始執行您的腳本,該腳本將以 root 身份運行。

systemd-networkd 旨在僅運行腳本 系統控制器位於 /etc/networkd-dispatcher 目錄中,用戶不可更換, 但由於一個漏洞 (CVE-2022-29799) 文件路徑處理代碼可能已從基本目錄關閉 限制並執行任意腳本。

特別是,在形成腳本的文件路徑時,使用了通過 D-Bus 傳輸的 OperationalState 和 AdministrationState 值,其中特殊字符沒有被刪除。 攻擊者可以使用名稱中的字符“../”生成自己的狀態,並將 networkd-dispatcher 調用重定向到另一個目錄。

第二個漏洞 (CVE-2022-29800) 與競爭條件有關: 在檢查腳本參數(由root擁有)和執行它之間,有很短的時間,足以替換文件並跳過檢查root擁有的腳本。 此外,即使通過 subprocess.Popen 調用執行腳本,networkd-dispatcher 也不會檢查符號鏈接,這大大簡化了攻擊編排。

創建目錄“/tmp/nimbuspwn”並創建指向目錄“/sbin”的符號鏈接“/tmp/nimbuspwn/poc.d”,用於通過檢查root擁有的可執行文件。

對於“/sbin”可執行文件,在“/tmp/nimbuspwn”目錄下創建同名文件,例如對於“/sbin/vgs”文件,創建一個可執行文件“/tmp/nimbuspwn/vgs” ,由沒有特權的用戶擁有,其中放置了攻擊者想要執行的代碼。

D-Bus 信號被發送到 networkd-dispatcher 進程,OperationalState 設置為“../../../tmp/nimbuspwn/poc”。 要在“org.freedesktop.network1”命名空間中發送信號,您可以使用將控制器連接到 systemd-networkd 的功能,例如,通過 gpgv 或 epmd 操作,或者您可以使用 systemd-networkd 它不是默認運行(例如,在 Linux mint 上)。

收到信號後,Networkd-dispatcher 會創建一個由 root 用戶擁有的可執行文件列表,這些可執行文件位於“/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d”目錄中,它實際上指的是“/ sbin”。

一旦收到文件列表,但腳本尚未執行,符號鏈接就會從“/tmp/nimbuspwn/poc.d”重定向到“/tmp/nimbuspwn”,networkd-dispatcher 將被執行為根。 攻擊者放置的腳本。

問題 在 networkd-dispatcher 2.2 版本中修復,儘管沒有關於按發行版發布更新的信息。

終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。


發表您的評論

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

*

*

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

  1.   路易士 他說:

    有人說過一千零一次:systemd 是垃圾。 冗餘、設計不良、過載、容易出錯。 可惜它嵌入了我最喜歡的發行版(debian)