Dirty Pipe,Linux 多年來最嚴重的漏洞之一

近日,網上發布消息稱, Linux 中的一個新漏洞 這被列為 “高嚴重性”影響自 5.8 版以來的所有內核, 以及衍生產品,包括 Android。

作為。。而被知道 臟管道允許數據在只讀文件中被覆蓋,並可能導致權限升級 通過將代碼注入“根”進程。

儘管它已被修補到主線 Linux 內核中,但該漏洞可能會以特權升級利用的形式在所有運行 Linux 內核版本 5.8 或更高版本的設備上被武器化。

這也意味著一系列新發布的 Android 智能手機,如三星 Galaxy S22 和谷歌 Pixel 6,也很容易受到攻擊,直到每台設備從各自的 OEM 收到適當的內核補丁。

關於臟管

該漏洞是 安全研究員 Max Kellerman 透露 並分類為 (CVE-2022-0847),花了幾個月的時間才找到一個概念驗證漏洞。

該漏洞允許非特權用戶在只讀文件中註入和覆蓋數據,包括以 root 身份運行的 SUID 進程。 俗稱的暱稱似乎是臭名昭著的錯誤 骯髒的牛 以及一種稱為流水線的 Linux 機制,用於進程間消息傳遞,因為後者在漏洞利用例程中使用。

這一切始於一年前與損壞文件相關的支持票。 客戶抱怨下載的訪問日誌無法解包。 事實上,其中一台日誌服務器上有一個損壞的日誌文件; 它可能是未壓縮的,但 gzip 報告了 CRC 錯誤。 我無法解釋它為什麼會損壞,但我認為夜間拆分過程已經崩潰並產生了一個損壞的文件。 我手動更正了文件的 CRC,關閉了工單,很快就忘記了問題。

經過幾個月的分析, 研究人員最終發現,損壞的客戶端文件是 Linux 內核中的錯誤造成的。 他找到了一種利用 Dirty Pipe 的方法,允許任何擁有帳戶的人(包括權限較低的“nobody”帳戶)向 root 用戶帳戶添加 SSH 密鑰。

為了觸發該漏洞,Kellerman 分享了他的概念證明,攻擊者必須具有讀取權限。 此外,滾動不能在頁面邊界上,寫入不能跨越頁面邊界,並且文件不能調整大小。

要利用此漏洞,您必須:創建管道,用任意數據填充管道(通過在環中的所有條目上設置 PIPE_BUF_FLAG_CAN_MERGE 標誌),清空管道(在結構中的 pipe_buffer 結構的所有實例上設置標誌pipe_inode_info 環),將目標文件(使用 O_RDONLY 打開)中的數據合併到目標偏移之前的管道中,並將任意數據寫入管道。

Dirty Pipe 還會影響任何基於 Linux 內核易受攻擊版本之一的 Android 版本。 由於 Android 如此碎片化,無法統一跟踪受影響的設備型號。

根據凱勒曼的說法, 谷歌上個月將其錯誤修復與 Android 內核合併, 在 Linux 內核版本 5.16.11、5.15.25 和 5.10.102 的發布修復之後。

話雖如此,在 OEM 開始推出包含該修復程序的 Android 更新之前,我們可能需要稍等片刻。 例如,谷歌的 Pixel 6 仍然容易受到攻擊,但高級用戶可以通過安裝定制補丁的售後內核作為替代選項來緩解該漏洞。

Linux 內核開發人員於 5.16.11 月 5.15.25 日發布了修復程序(5.10.102、23、24),而 Google 於 XNUMX 月 XNUMX 日修補了 Android 內核。 Kellermann 和其他專家將該漏洞與 CVE-2016-5195 “臟牛” 他們說它更容易被利用。

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


發表您的評論

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

*

*

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