如何修复 CVE-2021-3156

How to fix CVE-2021-3156

sudo before v1.9.5p2 有一个基于堆的缓冲区溢出,允许通过 sudoedit -s 和以单个反斜杠字符结尾的命令行参数将权限升级到 root。

我想知道是否足够 运行:

sudo apt update

在 Ubuntu 服务器上修复 CVE-2021-3156?

我一直在做一些阅读,但我没有找到任何具体的答案,我猜是因为这是一个最近的问题。

谢谢!

您需要更新 APT 的软件包列表,然后安装升级:

sudo apt-get update
sudo apt-get --only-upgrade install sudo

可以在潜在修复前后检查您的系统是否易受攻击。

只要输入一个非root shell:

$ sudoedit -s /

在更新之前执行此操作,如果您收到以 sudoedit 开头的响应,例如:

sudoedit: /: not a regular file

您的系统易受攻击,您正在按照@Travis Warlick 的建议更新 sudo。

如果您收到回复,这应该是更新后的情况,或者您已经拥有最新(1.9.5p2 或更高版本)或足够旧(1.8.2 之前)的版本,例如:

usage: sudoedit [-AknS] [-r role] ...

您的系统不再(不再)存在 CVE-2021-3156 漏洞。

库存中受影响的 sudo 版本是:

  • 1.8.2 to 1.8.31p2
  • 1.9.0 to 1.9.5p1

版本 1.9.5p2 已保存。

检查您的版本:$ sudo --version

获取了那些信息from here

以下是有关此问题的最新更新:

CVE-2021-3156 是 sudo 二进制文件在解析命令行参数时的堆溢出漏洞。该漏洞允许攻击者在成功利用后将权限提升为 root。由于它是一个用户空间漏洞,因此在尝试利用时不存在使机器崩溃的风险。

由于 sudo 是一个非常基本的软件包,因此大多数 Linux 和 BSD 系统都存在此漏洞,需要紧急采取措施。

为了手动测试您的系统是否存在此漏洞,请运行执行以下命令“sudoedit -s /”。如果在输出中显示“sudoedit:”,则系统易受攻击。

“用法:...”表明它不易受攻击。此问题自 2011 年 7 月以来一直存在,适用于 1.8.2 至 1.8.31p2 等旧 sudo 版本以及当前版本 1.9.0 至 1.9.5p1。

sudo 1.9 分支的当前稳定版本是版本 1.9.7p1。

我刚刚将我的 RHEL 6 移到 1.9.7p1 和 Bingo !!!

从以下 link 获取二进制文件:https://www.sudo.ws/download.html#binary

和 extract/install 在你的 OS 上。

就是这样!!