務必自查:Linux 爆出本地雙殺提權漏洞,從 SSH 到 Root 只需一步?
今天分享兩個6月17號Qualys研究團隊披露了公布的Linux漏洞。
1. 漏洞介紹
- CVE?2025?6018:利用 PAM 配置誤用,SSH 登錄的普通用戶可冒充本地物理用戶(allow_active),并執行 polkit 授權操作。
- CVE?2025?6019:結合 libblockdev 與 udisks 模塊缺陷,可在普通用戶(已具備 allow_active)條件下,通過掛載惡意 XFS 鏡像拿到 SUID-root Shell,從而躋身系統 Root。
- 雙鏈條合體:先通過 CVE?2025?6018 獲得 allow_active,再借助 CVE?2025?6019 提升至 root,整個鏈條可在主流 Linux 發行版(SUSE、Ubuntu、Debian、Fedora、AlmaLinux……)上復現。
2. 漏洞原理
(1) CVE?2025?6018:PAM 環境變量誤讀
- openSUSE Leap 15 / SUSE Linux Enterprise 15 默認啟用了 pam_env 的 user_readenv=1,導致登錄時直接讀取用戶 ~/.pam_environment。
- 攻擊者可設置環境變量如 XDG_SEAT、XDG_VTNR,繞過 pam_systemd 判斷,冒充“本地”用戶,從而獲得 allow_active 權限。
(2) CVE?2025?6019:udisks 免 nosuid/nodev 掛載缺陷
- 在 udisks2 調用 libblockdev 執行 XFS 文件系統擴展操作時,掛載點默認缺少 nosuid 和 nodev 限制。
- 攻擊者可準備 XFS 鏡像中包含 SUID-root 程序,通過 loop-mount 再執行,即刻奪取 root 權限。
3. 受影響范圍
漏洞 | 受影響系統 | 提升鏈條說明 |
CVE?2025?6018 | openSUSE Leap 15, SUSE Linux Enterprise 15 等 PAM 使用 | 可從 SSH 普通用戶→allow_active |
CVE?2025?6019 | 幾乎所有默認安裝了 | 可從 allow_active → root |
Ubuntu 自 18.04/20.04/22.04 等版本起,已對 libblockdev 和 udisks2 發布修復補丁。默認配置下不受 CVE?2025?6018 影響,但某些定制 PAM 配置仍然有風險。
Debian、Red Hat、AlmaLinux 等社區紛紛上線應急更新。
4. 防范措施建議
(1) 立即更新系統軟件
SUSE 用戶更新 PAM 或調整 /etc/pam.d/* 棧中 pam_env 配置,確保 user_readenv=0 或移除。
Ubuntu/Debian/Fedora/AlmaLinux 等用戶請盡快安裝 libblockdev 與 udisks2 的安全補丁。
(2) 調整 Polkit 授權策略
修改 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy 中 org.freedesktop.udisks2.modify-device 授權,將 allow_active 改為 auth_admin。
(3) 強化權限與配置審計
審查 PAM 配置文件,移除可能的 user_readenv 配置。
監控 /tmp/loop… 臨時掛載、不明 SUID shell 文件生成行為。
(4) 隔離 SSH 與 GUI 登錄權限
對 SSH 登錄用戶進行最小權限策略,避免給予 GUI 本地權限(例如通過 pam_systemd 模塊)。
這兩個漏洞組合形成了從普通賬號到 root 的完整提權鏈條,運維工程師們不能掉以輕心,引起足夠重視,記得做好提前備份。