在 Wayland 的熱鍵管理器中發現了幾個漏洞

前幾天有消息稱 發現了一些漏洞 在 swhkd (Simple Wayland HotKey Daemon) 中,由於臨時文件、命令行選項和 unix 套接字處理不正確而導致。

該程序是用 Rust 編寫的,並在基於 Wayland 協議(在基於 X11 的環境中使用的 sxhkd 進程的配置文件兼容模擬)的環境中處理熱鍵。 該軟件包包括一個非特權 swhks 進程,該進程執行熱鍵操作,以及一個 swhkd 後台進程,該進程以 root 身份運行並在 uinput API 級別與輸入設備進行交互。 為了組織 swhks 和 swhkd 之間的交互,使用了 Unix 套接字。

Polkit 的規則允許任何本地用戶以 root 身份運行 /usr/bin/swhkd 進程並向其傳遞任意參數。

RPM包的集成 為 openSUSE Tumbleweed 提交的文件中包含不尋常的 Polkit 規則 需要 SUSE 安全團隊審查的定義文件。

作為審查的結果,發現了多個安全問題。 個別問題在下面的詳細報告中進行了描述。

已識別的漏洞, 提到以下內容:

CVE-2022,27815

這個漏洞 允許將進程 PID 保存在具有可預測名稱的文件中 並且在其他用戶的可寫目錄(/tmp/swhkd.pid)中,任何用戶都可以創建一個/tmp/swhkd.pid文件並將現有進程的pid放入其中,這將導致無法啟動swhkd。

在沒有防止在 /tmp 中創建符號鏈接的情況下, 該漏洞可用於創建或覆蓋文件 在系統上的任何目錄中(PID寫入文件)或確定係統上任何文件的內容(swhkd將PID文件的全部內容輸出到stdout)。 需要注意的是,在發布的修復中,PID文件沒有移動到/run目錄,而是移動到/etc目錄(/etc/swhkd/runtime/swhkd_{uid}.pid),它也不屬於.

CVE-2022,27814

這個漏洞 允許您操縱“-c”命令行選項來指定配置文件 可以確定係統上是否存在任何文件。

與第一個漏洞一樣,修復問題令人費解:修復問題歸結為外部“cat”實用程序 ('Command::new("/bin/cat").arg(path) 是現在啟動以讀取配置文件。輸出()')。

CVE-2022,27819

這個問題 它也與“-c”選項的使用有關,它加載並解析整個配置文件,而不檢查文件的大小和類型。

例如,由於可用內存不足和創建雜散 I/O 導致拒絕服務,您可以在啟動時指定塊設備(“pkexec /usr/bin/swhkd -d -c /dev/sda »)或發出無限數據流的字符設備。

該問題已通過在打開文件之前重置權限得到解決,但解決方案並不完整,因為僅重置了用戶 ID (UID),但組 ID (GID) 保持不變。

CVE-2022,27818

這個漏洞 允許您使用 /tmp/swhkd.sock 文件來創建 Unix 套接字,它是在公共可寫目錄中創建的,導致與第一個漏洞類似的問題(任何用戶都可以創建 /tmp/swhkd.sock 並生成或攔截按鍵事件)。

CVE-2022,27817

在這個漏洞中, 從所有設備和所有會話中接收輸入事件,即另一個 Wayland 或控制台會話中的用戶可以在其他用戶按下熱鍵時攔截事件。

CVE-2022,27816

swhks 進程與 swhkd 一樣,使用可公開寫入的 /tmp 目錄中的 PID 文件 /tmp/swhks.pid。 該問題類似於第一個漏洞,但沒有那麼危險,因為 swhks 在非特權用戶下運行。

最後,如果您有興趣了解更多,可以諮詢 以下鏈接中的詳細信息.


發表您的評論

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

*

*

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