欢迎访问机房运维工作室

爱数知识库

AnyShare-Sudo缓冲区溢出漏洞(CVE-2021-3156)

频道:爱数知识库 日期: 浏览:98

AnyShare-Sudo缓冲区溢出漏洞(CVE-2021-3156)

关键字

Sudo、缓冲区溢出、漏洞


适用产品

  • AnyShare Express 6.0.x
  • AnyShare Enterprise 6.0.x


问题描述

Sudo 存在缓存区溢出漏洞,该漏洞由于 Sudo 错误的在参数中转义了反斜杠导致堆缓冲区溢出,允许攻击者通过 sudoedit-s 和以单个反斜杠字符结尾的命令行参数将权限提升为 root。


问题影响

本地普通用户可利用 Sudo 获得系统root权限,Sudo 受影响的版本:

Sudo 1.8.2 - 1.8.31p2

Sudo 1.9.0 - 1.9.5p1


问题原因

Sudo 版本过低,攻击者可以绕过安全策略去执行某些敏感的命令。


解决方案

为了修复该漏洞,需要升级安装 Sudo 1.9.5p2 版本。

1.通过 SSH 工具登录 AnyShare 节点,执行如下命令,查询 Sudo 版本。

sudo -V

image.png

2.执行如下命令,确认是否存在漏洞,执行结果返回 Segmentation fault 表示存在漏洞吗,如下图所示。

sudoedit -s '\' `perl -e 'print "A" x 65536'`

image.png

3.上传 Sudo 1.9.5p2 的 rpm 包,使用 root 用户执行如下命令安装。

注意:Sudo 安装包下载地址 https://github.com/sudo-project/sudo/releases/tag/SUDO_1_9_5p2

rpm -Uvh sudo-1.9.5-3.el7.x86_64.rpm

image.png

4.执行如下命令,再次查询 Sudo 版本。

sudo -V

image.png

5.执行如下命令再次检查漏洞,执行结果返回 command not found 表示漏洞已修复,如下图所示。

sudoedit -s '\' `perl -e 'print "A" x 65536'`

image.png


更多信息

Sudo 是一套用户类 Unix 操作系统下并且允许用户通过安全的方式使用特殊的权限执行命令的程序。