国外研究团队发现sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上获取root权限。

漏洞描述:

国外研究团队发现sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上获取root权限。漏洞细节已在互联网上公开,腾讯安全专家提醒linux系统管理员尽快修复。

Sudo是一个功能强大的实用程序,大多数(如果不是全部)基于Unix和Linux的操作系统都包含Sudo。

成功利用此漏洞,任何没有特权的用户都可以在易受攻击的主机上获得root特权。研究人员已经在Ubuntu 20.04(Sudo 1.8.31),Debian 10(Sudo 1.8.27)和Fedora 33(Sudo 1.9.2)上独立验证漏洞并开发多种利用漏洞并获得完整的root用户特权,其他操作系统和发行版也可能会被利用。

漏洞危害:本地提权

漏洞级别:高危

受影响的版本:

从1.8.2到1.8.31p2的所有版本
从1.9.0到1.9.5p1的所有稳定版本

修复版本:

Sudo 1.9.5p2或更新版本

检测方法:

以非root账户登录系统运行如下命令:

sudoedit -s

受影响的系统启动程序会提示以下开头的错误作为响应: 

sudoedit:

安装补丁后启动会提示以下开头的错误作为响应:

usage:

修复方案:

Redhat等linux发行版已紧急发布修复补丁,腾讯安全专家建议用户尽快升级:

CentOS 系统用户: 

1)CentOS 6:默认 sudo 在受影响范围,CentOS官方已停止更新;
2)CentOS 7:升级到 sudo-1.8.23-10.el7_9.1 或更高版本 ;
3)CentOS 8:升级到 sudo-1.8.29-6.el8_3.1或更高版本。

Ubuntu系统用户: 

1)Ubuntu 20.04 LTS版本用户,建议升级到如下版本:
sudo – 1.8.31-1ubuntu1.2
sudo-ldap – 1.8.31-1ubuntu1.2 

2)Ubuntu 18.04 LTS版本用户,建议升级到如下版本:
sudo – 1.8.21p2-3ubuntu1.4
sudo-ldap – 1.8.21p2-3ubuntu1.4

3)Ubuntu 16.04 LTS版本用户,建议升级到如下版本:
sudo – 1.8.16-0ubuntu1.10
sudo-ldap – 1.8.16-0ubuntu1.10 

建议您在升级前做好数据备份工作,避免出现意外。

腾讯安全解决方案:

腾讯T-Sec主机安全(云镜)漏洞库2021-1-27之后的版本,已支持检测sudo堆溢出漏洞(CVE-2021-3156)。

漏洞详情:https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit

我有一个运行 CentOS Red Hat Enterprise Linux (RHEL) 的服务器。我该如何访问 Extra Packages for Enterprise Linux (EPEL) 存储库,以便安装标准存储库中未提供的软件包?

简短描述

标准存储库可能不提供某些在 CentOS 或 Red Hat Enterprise Linux (RHEL) 的发行版上安装的软件包。启用 EPEL 存储库可提供额外的软件包安装选项。

解决方法

请按照以下步骤在 RHEL 或 CentOS 的发行版上下载、安装和启用 EPEL 存储库:

RHEL

RHEL 8:

安装适用于 RHEL 8 的 EPEL 发行包。同时启用 EPEL 和 CodeReady Builder 存储库。CodeReady Builder 存储库包含许多 EPEL 软件包所需的开发工具。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms

RHEL 7:

安装并启用适用于 RHEL 7 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

RHEL 6:

安装并启用适用于 RHEL 6 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

CentOS

CentOS 8:

安装适用于 RHEL 8 的 EPEL 发行包。同时启用 EPEL 和 PowerTools 存储库。PowerTools 存储库包含许多 EPEL 软件包所需的开发工具。

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled PowerTools

CentOS 7:

安装并启用 EPEL 发行包。CentOS 7 的基本存储库中包括 epel-release 软件包。

sudo yum -y install epel-release

CentOS 6:

安装并启用适用于 RHEL 6 的 EPEL 发行包。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

列出已启用的存储库

如要验证是否启用了 EPEL 存储库,请运行 repolist 命令。

sudo yum repolist

请注意限制服务器以及本地系统浏览器JS location请求。

https://twitter.com/jonasLyk/status/1347900440000811010

cd c:/:$i30:$bitma 可损坏Windows 10 NTFS磁盘分区

(目前尚未确认服务器系统NTFS是否重现此漏洞)

此路径在浏览器中访问同样可以损坏磁盘分区

谷歌浏览器打开以下链接也会导致蓝屏。
\.\globalroot\device\condrv\kernelconnect

警惕不明压缩包,以及访问不明网站,不明文档。请勿接收此类文件并打开运行。

解决 XmlDocument 在调用 LoadXml 方法时发生 hexadecimal value 0x08, is an invalid character 和 hexadecimal value 0x12, is an invalid character 等错误。

原因是有很多符号不能在XML代码中出现,所以我们要替换掉:

private string ReplaceHexadecimalSymbols(string txt)
{
	if (txt != "")
	{
		string r = "[\x00-\x08\x0B\x0C\x0E-\x1F]";
		return Regex.Replace(txt, r, "", RegexOptions.Compiled);
	}
	else
	{
		return "";
	}
}

Docker

由于Docker的官方默认源在海外,导致了腾讯云国内CVM(或轻量)使用Docker默认源拉取镜像速度不理想,甚至直接失败等问题,造成了不小的困扰。

解决方式很简单,我们可以使用腾讯云提供的docker镜像源加速:

https://mirror.ccs.tencentyun.com

一、适用于基于 Ubuntu 操作系统的实例:

1、执行以下命令,打开 /etc/default/docker 配置文件

vim /etc/default/docker

2、按 i 切换至编辑模式,添加以下内容,并保存

DOCKER_OPTS="--registry-mirror=https://mirror.ccs.tencentyun.com"

二、适用于基于 CentOS 操作系统的实例:

1、执行以下命令,打开 /etc/docker/daemon.json 配置文件

vim /etc/docker/daemon.json

2、按 i 切换至编辑模式,添加以下内容,并保存

{
	"registry-mirrors": [
		"https://mirror.ccs.tencentyun.com"
	]
}