CVE-2025-6019 是一個在 libblockdev 函式庫中發現的本地權限提升 (LPE) 漏洞,它與 udisks2 守護程式和 Polkit 協同作用。
具有 allow_active Polkit 權限的本地攻擊者(通常是實際操作電腦的使用者)可以利用 libblockdev 與 udisks 守護程式互動的方式。攻擊者可以製作一個惡意的 XFS 映像檔,其中包含一個 SUID-root shell,並誘騙 udisks 在沒有 nosuid 和 nodev 等安全旗標的情況下掛載該映像檔。這使得攻擊者能夠執行 SUID-root shell 並獲得系統的完整 root 權限。
整個攻擊流程可以分為準備、傳輸和觸發三個階段,其中惡意映像檔可以在任何系統上預先準備好。
準備階段 (在攻擊者自己的機器上):攻擊者使用標準的 Linux 工具 (例如 mkfs.xfs) 建立一個 XFS 檔案系統的映像檔。在這個映像檔裡面,他們會放入一個預先編譯好的、具有 SUID 權限的惡意程式 (例如一個後門 shell)。這個映像檔本身就是一個「攻擊酬載 (payload)」。
傳輸階段:攻擊者需要將這個製作好的惡意映像檔傳輸到目標主機上。方法有很多種,例如透過 wget 下載、USB 隨身碟、或是利用目標主機上其他的漏洞上傳檔案。
觸發階段 (在目標主機上):攻擊的核心步驟發生在目標主機上。攻擊者利用 CVE-2025-6019 漏洞,誘騙目標主機上的 udisks2 服務去掛載 (mount) 這個惡意映像檔。由於漏洞的存在,udisks2 在掛載時沒有加上必要的安全旗標 (如 nosuid)。
提權階段:一旦映像檔被不安全地掛載,裡面那個帶有 SUID 權限的惡意程式就變為可執行,並且執行時會繼承 root 權限,從而讓攻擊者得手。
結論: 映像檔只是一個帶有惡意程式的「容器」,在哪裡製作它並不重要。重要的是目標系統如何「處理」這個容器。
此漏洞的 CVSS 3.1 基本分數為 7.0,屬於高嚴重性。
成功利用此漏洞可能導致攻擊者完全控制受影響的系統。
大多數使用 libblockdev 和 udisks2 服務的 Linux 發行版都受到影響,包括 Ubuntu、Debian、Fedora 和 openSUSE。
polkit 規則 org.freedesktop.udisks2.modify-device 的 allow_active 設定從 yes 更改為 auth_admin。此漏洞有時可能與另一個漏洞 CVE-2025-6018 結合使用,後者在某些發行版中可用於遠端獲取 allow_active 權限。
此漏洞也突顯了 Linux 錯誤如何影響使用 Automotive Grade Linux (AGL) 的軟體定義汽車。