sudo 在解析命令行参数的过程中存在权限升级的问题 -(CVE-2021-3156)

Public Date: January 26, 2021, 11:20
已更新 February 4, 2021, 16:50 - English(英语) French Japanese Korean
Resolved 状态
Important Impact

Insights vulnerability analysis

View exposed systems



红帽已了解到,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

RHSA-2021:0218

Red Hat Enterprise Linux 8.2.0 Extended Update Support [2]

sudo 

RHSA-2021:0219

Red Hat Enterprise Linux 8.1.0 Extended Update Support [2]

sudo

RHSA-2021:0220

Red Hat Enterprise Linux 7

sudo

RHSA-2021:0221

Red Hat Enterprise Linux 7.7 Extended Update Support [2]

sudo

RHSA-2021:0222

Red Hat Enterprise Linux 7.6 Extended Update Support [2]

sudo

RHSA-2021:0223

Red Hat Enterprise Linux 7.4 Update Services for SAP Solutions, Advanced Update Support [3], [4]

sudo

RHSA-2021:0224

Red Hat Enterprise Linux 7.3 Advanced Update Support [4]

sudo

RHSA-2021:0225

Red Hat Enterprise Linux 7.2 Advanced Update Support [4]

sudo

RHSA-2021:0226

Red Hat Enterprise Linux 6 Extended Lifecycle Support [5]

sudo

RHSA-2021:0227


[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签名进行验证说明。

当前版本:1.0

红帽借此感谢 Qualys Security 报告了此漏洞。

如何使用 GPG 来验证产品安全中的签名内容

Comments