sudo 在解析命令行参数的过程中存在权限升级的问题 -(CVE-2021-3156)
已更新
此信息是否有帮助?
摘要
红帽已了解到,sudo 在处理命令行参数的方式中存在一个缺陷。一个本地的攻击者可以利用这个安全漏洞导致内存数据被损坏,并导致崩溃或特权升级的问题。sudo 软件包默认在 Red Hat Enterprise Linux 上安装,用户通过使用 suod 可以以其他用户(通常是 root 用户)的身份执行命令。这个问题已被记录为 CVE-2021-3156,红帽产品安全团队已把这个问题的安全影响严重性级别定为 Important(重要)。受影响的客户应马上升级到新版本的 sudo。
以下红帽产品版本会受到影响:
Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 8
尽管红帽所提供的容器不受这些问题的直接影响,但其安全性依赖于基本镜像的完整性和更新状态(例如 RHEL 软件包是否已进行了相应的更新)。红帽建议您使用最新版本的容器镜像。Container Health Index(Red Hat Container Catalog, 的一部分)可以用来检查以下红帽容器的安全状态:
Red Hat OpenShift Container Platform 4(RHEL CoreOS)
Red Hat Virtualization(RHV)4.3 和 4.4
rook-ceph-operator-container-4.6
cephcsi-container-4.6
请参照下面的诊断部分的内容,检查您的系统当前是否存在这些安全漏洞。
技术概述
在 sudo 解析命令行参数的方式中发现了一个基于堆的缓冲区溢出问题。任何本地用户(用户和系统用户,sudoers 和非 sudoers)都可以利用此漏洞,而无需进行身份验证(例如,攻击者不需要知道用户的密码)。成功利用此漏洞可能导致权限升级的问题。
缓解方案
红帽产品安全团队强烈建,在修复了这个问题的 sudo 软件包可用后马上更新到新版本。对于无法立即更新的客户,建议使用 systemtap 进行以下的临时缓解措施:
1. 安装所需的 systemtap 软件包和依赖项,例如:
# yum install systemtap yum-utils kernel-devel-"$(uname -r)"
对于 RHEL 7,使用以下命令安装 kernel debuginfo:
# debuginfo-install -y kernel-"$(uname -r)"
对于 RHEL 8,使用以下命令安装 sudo debuginfo:
# debuginfo-install sudo
2.创建以下 systemtap 脚本:(将文件命名为 sudoedit-block.stap)
probe process("/usr/bin/sudo").function("main") { command = cmdline_args(0,0,""); if (strpos(command, "edit") >= 0) { raise(9); } }
3.使用以下命令安装脚本:(使用 root)
# nohup stap -g sudoedit-block.stap &
(这将输出 systemtap 脚本的 PID 号)
该脚本将使存在安全漏洞的 sudoedit 命令停止工作。sudo 命令仍将正常工作。
上述更改在重启后将会丢失,因此必须在每次重启后重新进行更改。
4.在安装了新的、已修复了相关漏洞的 sudo 软件包后,终止(kill)systemtap 进程来删除 systemtap 脚本。 例如:
# kill -s SIGTERM 7590(其中 7590 是 systemtap 进程的 PID)
警告:请勿尝试通过删除符号链接来禁用 sudoedit。这不并足以使缓解措施生效。
受影响产品的更新
我们强烈建议,所有运行受影响版本的红帽产品的用户,在相关勘误可用后尽快进行更新。
产品 | 软件包 | 公告/更新 |
---|---|---|
Red Hat Enterprise Linux 8 | sudo | |
Red Hat Enterprise Linux 8.2.0 Extended Update Support [2] | sudo | |
Red Hat Enterprise Linux 8.1.0 Extended Update Support [2] | sudo | |
Red Hat Enterprise Linux 7 | sudo | |
Red Hat Enterprise Linux 7.7 Extended Update Support [2] | sudo | |
Red Hat Enterprise Linux 7.6 Extended Update Support [2] | sudo | |
Red Hat Enterprise Linux 7.4 Update Services for SAP Solutions, Advanced Update Support [3], [4] | sudo | |
Red Hat Enterprise Linux 7.3 Advanced Update Support [4] | sudo | |
Red Hat Enterprise Linux 7.2 Advanced Update Support [4] | sudo | |
Red Hat Enterprise Linux 6 Extended Lifecycle Support [5] | sudo |
[1] 公告/更新链接将在更新发布后添加。
[2] 什么是 Red Hat Enterprise Linux Extended Update Support (EUS) 订阅?
[3] 什么是 Advanced mission critical Update Support (AUS)?
[4] 什么是 Red Hat Enterprise Linux SAP Solutions 订阅?
[5] 访问此修补程序需要一个有效的延长生命周期支持(ELS)订阅。 如果您的帐户并没有包括有效的 ELS 订阅,请联系红帽销售部门或您的销售代表以获取更多信息。
潜在受影响的产品和容器
以下产品和容器会通过其他产品来使用受影响的软件包。 尽管红帽所提供的容器不受这些问题的直接影响,但其安全性依赖于基本镜像的完整性和更新状态(例如 RHEL 软件包是否已进行了相应的更新)。红帽建议您使用最新版本的容器镜像。Container Health Index(Red Hat Container Catalog 的一部分)可以用来检查红帽容器的安全状态。
产品或容器 | 修复依赖于 | 备注 |
cephcsi-container-4.6 | Red Hat Enterprise Linux 8 | 使用 sudo-0:1.8.29-6.el8 |
rook-ceph-operator-container-4.6 | Red Hat Enterprise Linux 8 | 使用 sudo-0:1.8.29-6.el8 |
Red Hat OpenShift Container Platform 4.6 | Red Hat CoreOS | 使用 sudo-0:1.8.29-6.el8 |
Red Hat Virtualization 4.3 | Red Hat Enterprise Linux 7 | 使用 sudo-1.8.23-10.el7 |
Red Hat Virtualization 4.4 | Red Hat Enterprise Linux 8 | 使用 sudo-1.8.29-6.el8 |
服务影响
因为系统中存在有安全漏洞的 sudo 版本,所以 Red Hat OpenShift Dedicated 会受到影响。但是,它的影响会很小,因为对 sudo 命令的访问已被限制为只有在专用集群上具有 cluster-admin 特权的用户才可以使用。
诊断
一个安全漏洞检测脚本已被开发,用来检查您的系统当前是否存在相关的安全漏洞。您可以下载 OpenPGP 签名来验证脚本的真实性。红帽客户门户网站上提供了有关如何使用GPG签名进行验证说明。
Comments