運維工程師來活了,Linux 又報了兩個超級漏洞(附解決方案)
2025年6月17日,Qualys研究團隊披露了兩個關鍵的Linux漏洞:CVE-2025-6018和CVE-2025-6019。該漏洞可以鏈式利用,允許攻擊者從普通角色提升到root角色,影響多個Linux發行版本,包括Ubuntu、Debian、Fedora、openSUSE Leap 15和SUSE Enterprise 15。該漏洞只需要SSH登錄就可以觸發。
1. 漏洞詳情
以下是兩個漏洞的核心信息:
漏洞 | CVE | 受影響組件 | 影響 | 受影響的發行版 |
本地權限提升 | CVE-2025-6018 | PAM 配置 | 授予 "allow_active" 狀態,啟用特權操作 | openSUSE Leap 15, SUSE Linux Enterprise 15 |
根訪問權限漏洞 | CVE-2025-6019 | libblockdev 通過 udisks 守護進程 | 結合 CVE-2025-6018 時,啟用完全根訪問權限 | Ubuntu, Debian, Fedora, openSUSE Leap 15 |
2. 關鍵風險
- 完全系統接管:黑客可獲得root權限,控制系統和更改所有數據。
- 規避端點檢測:黑客可以繞過常見監控工具。
- 持久后門:黑客可無感知留后門,從而實現長期控制系統。
- 橫向移動:黑客可利該漏洞攻擊網絡中的其他設備。
3. 技術背景
(1) PAM(Pluggable Authentication Modules)
PAM 是 Linux 系統中的一個用戶認證框架模塊,它可以通過配置文件例如: /etc/pam.d/ 或者 /etc/pam.conf 中來管理和定義認證策略。CVE-2025-6018 漏洞源于 PAM 配置中的一個漏洞,具體來說就是允許遠程用戶(例如通過 SSH 登錄)獲得 "allow_active" 的狀態。通常這個狀態只會授予本地登陸的用戶(比如通過控制臺登錄),但配置錯誤會導致遠程用戶也能獲得特權。
(2) polkit(PolicyKit)
polkit 是一個權限管理框架,用于控制非root用戶對root權限操作的訪問(如掛載設備或修改系統設置等)。CVE-2025-6019 利用了 polkit 的默認規則,特別是 org.freedesktop.udisks2.modify-device,當其設置為 allow_active=yes 時,允許用戶無需認證即可執行這些root權限的動作。
(3) libblockdev 和 udisks
- libblockdev:一個 C 語言庫,用于與塊設備(如硬盤、分區)交互,提供對存儲設備的底層操作支持。
- udisks2:通過 D-Bus 接口提供用戶空間對存儲設備的訪問,依賴 libblockdev。CVE-2025-6019 的漏洞存在于 libblockdev 中,通過 udisks 守護進程允許黑客執行root角色的操作。
4. 漏洞利用機制
Qualys 研究團隊通過概念驗證(PoC)代碼,證明了這些漏洞在受影響發行版上是可以執行的。流程如下:
- CVE-2025-6018:通過 SSH 登錄,利用 PAM 配置錯誤獲得 "allow_active" 狀態。
- CVE-2025-6019:利用 libblockdev 的漏洞,通過 udisks 守護進程執行root角色操作,結合 CVE-2025-6018 的特權狀態,最終獲得root權限。
這種攻擊鏈利用了系統中原生的服務(如 udisks 和 PAM),無需額外工具。
5. 哪些版本值得關注?
管理員需檢查系統是否運行以下受影響的發行版:
- openSUSE Leap 15 和 SUSE Linux Enterprise 15(CVE-2025-6018 和 CVE-2025-6019)
- Ubuntu(CVE-2025-6019)
- Debian(CVE-2025-6019)
- Fedora(CVE-2025-6019)
檢查方法:
查libblockdev 和 udisks2 的版本:
- Debian/Ubuntu:dpkg -l | grep libblockdev 或 dpkg -l | grep udisks2
- Fedora:dnf list libblockdev 或 dnf list udisks2
- openSUSE:zypper info libblockdev 或 zypper info udisks2
檢查 PAM 配置文件(如 /etc/pam.d/sshd)是否存在 user_readenv=1 設置。
6. 補救措施
(1) 立即打補丁
各發行版已發布或正在發布補丁,具體如下:
發行版 | 包名 | 版本 | 安全公告 |
Debian bullseye (11) | libblockdev | 2.25-2+deb11u1 | DLA-4221-1 |
Debian bookworm (12) | libblockdev | 2.28-2+deb12u1 | DSA-5943-1 |
Debian sid/trixie | libblockdev | 3.3.0-2.1 | Debian Tracker |
Ubuntu 25.04 (plucky) | libblockdev | 3.3.0-2ubuntu0.1 | Ubuntu CVE-2025-6019 |
Ubuntu 24.10 (oracular) | libblockdev | 3.1.1-2ubuntu0.1 | Ubuntu CVE-2025-6019 |
Ubuntu 24.04 LTS (noble) | libblockdev | 3.1.1-1ubuntu0.1 | Ubuntu CVE-2025-6019 |
Ubuntu 22.04 LTS (jammy) | libblockdev | 2.26-1ubuntu0.1 | Ubuntu CVE-2025-6019 |
Ubuntu 20.04 LTS (focal) | libblockdev | 2.23-2ubuntu3+esm1 | Ubuntu CVE-2025-6019 |
Ubuntu 18.04 LTS (bionic) | libblockdev | 2.16-2ubuntu0.1~esm1 | Ubuntu CVE-2025-6019 |
Fedora | libblockdev, udisks2 | 最新版本 | 待確認,建議運行 |
注意:
- Ubuntu 對 CVE-2025-6018 不受影響,因其未在遠程認證配置文件中設置 user_readenv=1。
- Fedora 的補丁信息尚未公開,建議管理員定期檢查 Fedora 安全更新。
操作步驟:
- Debian/Ubuntu:運行 apt update && apt upgrade。
- Fedora:運行 dnf update。
- openSUSE:運行 zypper update。
(2) 修改 polkit 規則
默認的 polkit 規則可能允許未經認證的操作,需調整 org.freedesktop.udisks2.modify-device 規則以要求管理員認證。
修改步驟:
- 創建或編輯 /etc/polkit-1/rules.d/50-local.rules 文件:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.modify-device") {
return polkit.Result.AUTH_ADMIN;
}
});
- 保存并重啟 polkit 服務:systemctl restart polkit。
- 驗證配置生效:嘗試以非管理員用戶執行設備操作,應提示認證。
注意:不同發行版的 polkit 配置路徑可能略有差異,建議參考官方文檔。
(3) 加強 SSH 安全性
由于漏洞可通過 SSH 登錄利用,需加強 SSH 配置:
- 禁用 root 登錄:編輯 /etc/ssh/sshd_config,設置 PermitRootLogin no。
- 使用密鑰認證:生成 SSH 密鑰對,禁用密碼登錄(PasswordAuthentication no)。
- 限制訪問:使用 AllowUsers 或 AllowGroups 限制 SSH 用戶。
- 啟用防火墻:使用 ufw 或 firewalld 限制 SSH 訪問來源 IP。
- 重啟 SSH 服務:systemctl restart sshd。
(4) 系統監控與檢測
管理員應監控系統以發現潛在入侵跡象:
- 使用 auditd:配置審計規則,監控系統調用和重要文件是否有變更。
auditctl -w /etc/passwd -p wa -k passwd_changes
auditctl -w /etc/shadow -p wa -k shadow_changes
- 部署 IDS:使用 OSSEC 或 Tripwire 檢測異常活動。
- 檢查日志:定期審查 /var/log/auth.log 或 /var/log/secure,尋找異常登錄或命令執行。
(5) 備份與恢復
- 定期備份:使用工具如 rsync 或 Timeshift 備份系統關鍵數據。
- 測試恢復:定期驗證備份可用性,確保在系統被接管時可快速恢復。
- 隔離備份:將備份存儲在離線或只讀介質上,防止被惡意軟件破壞。
7. 結論
CVE-2025-6018和CVE-2025-6019是linux系統的一個重要的漏洞。系統工程師應給足夠的重視、調整polkit配置,加固SSH,并實施監控和備份。