首页/安全/安全加固速查/polkit pkexec 提权自查(PwnKit)
补丁与漏洞管理50 条

polkit pkexec 提权自查(PwnKit)

polkit 的 pkexec 曾被披露本地提权漏洞(CVE-2021-4034):核查 polkit 版本与发行版修复版本,及时更新。

安全加固速查安全更新于 2026-10-13

PwnKit 是什么

polkit 的 pkexec 曾被披露本地提权漏洞 PwnKit(CVE-2021-4034):任何已登录的普通用户都能借此拿到 root,利用不需要交互、成功率很高。自查要点是确认 polkit 版本并与发行版公告给出的修复版本比对,未修复就升级。判断是否受影响不看业务有没有用到 polkit,只要 pkexec 文件存在且可执行,就具备被利用的条件。

基本信息

影响组件polkit,Debian 系包名为 policykit-1,核心文件 /usr/bin/pkexec
漏洞编号CVE-2021-4034(PwnKit)
适用平台Linux
风险等级高
缓解手段升级到修复版本;无法升级时去除 pkexec 执行位

典型使用场景

  • 收到 PwnKit 通告后做应急排查,确认主机是否受影响
  • 多用户主机与容器宿主机等本地提权后果最严重的场景
  • 容器镜像安全基线核查,镜像里同样带 polkit
  • 取证阶段确认攻击者能否由普通用户提权
  • 老旧系统暂时无法升级时的临时缓解处置

版本核查与升级

版本核查与升级
pkexec --version 2>&1 | head -2            # 确认 pkexec 是否存在及版本
rpm -q polkit 2>/dev/null                  # RHEL 系的包版本
dpkg -l policykit-1 2>/dev/null | tail -2  # Debian 系的包版本
ls -l /usr/bin/pkexec 2>/dev/null          # 文件权限与属主,判断是否可执行
dnf update -y polkit 2>/dev/null || apt-get install --only-upgrade -y policykit-1   # 升级到修复版本

复核必查项

检查项含义处置
polkit 版本是否达到发行版公告的修复版本未达标立即升级
包名差异RHEL 系 polkit 与 Debian 系 policykit-1升级命令按发行版写对包名
pkexec 是否存在存在且可执行即具备利用条件不使用则去掉执行位
容器镜像镜像内同样携带 polkit修宿主时同步重建镜像
临时缓解去除 pkexec 的 SUID 或执行位仅在无法升级时使用并留记录
本地提权漏洞对已经登录的低权限用户直接有效:多用户主机、跳板机、容器宿主机的修复优先级最高,一旦有低权账号被拿下就会直接丢 root。
去掉 pkexec 执行位只是缓解,不等于修复;发行版补丁可用后仍要升级,并复查期间是否存在异常的提权或审计痕迹。

易错点

  • 只查 polkit 主包不查 policykit-1 这类旧包名,发行版按旧名发补丁时容易漏掉
  • 修了宿主机忘了容器镜像,镜像里同样带 pkexec,需要同步更新并重建
  • 以为没用到 polkit 就不用管,漏洞利用与业务是否使用无关,只要文件在就可被利用
  • 临时移除 pkexec 执行位后没有记录与复查,补丁到位后仍留着被人为改动的文件

数据来源与参考

  • CVE-2021-4034(NVD/NVD 公告)
  • 发行版安全公告(RHSA/USN)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌