百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

新的Linux sudo漏洞使本地用户获得root权限

nanshan 2024-10-29 14:43 11 浏览 0 评论

文|Travis

近日被技术专家所发现的新 sudo 漏洞允许任何本地用户在不需要任何身份验证的情况下就可以在类 Unix 操作系统上获得 root 权限。

Sudo 实际上就是一个 Unix 程序,它使系统管理员可以为 sudoers 文件中列出的普通用户提供有限的 root 权限,与此同时保留其活动日志。Sudo 按照“最小权限原则”工作,基于该原则,Sudo 程序仅授予用户足够的权限来完成工作,而不会损害系统的整体安全性。

当在类似 Unix 的系统上执行命令时,普通用户可以使用 sudo(superuser do)命令来以超级用户身份执行命令(如果他们具有权限或知道超级用户的密码)—— root 是系统的超级用户,即一个特殊的系统管理帐户。


任何本地用户的 root 权限


Qualys 的安全研究人员发现并跟踪了被命名为 CVE-2021-3156 的 Sudo 权限升级漏洞。根据 Qualys 研究人员的发现,此漏洞产生的原因是基于任何本地用户(普通用户和系统用户,无论是否在 sudoers 文件中列出)都可以利用基于堆的缓冲区溢出而实现的,攻击者无需知道用户密码即可成功利用此漏洞。

Sudo 错误地在参数中转义了反斜杠字符,从而触发了缓冲溢出,最终导致任何本地用户都可以获得 root 权限。通常,在 shell 中(sudo -s 或 sudo -i)运行命令时,sudo 都会转义特殊的字符。但是,在使用 sudoedit -s 或 sudoedit -i 时实际上又没有进行转义,这使得缓冲区溢出成为了可能。

利用这些漏洞,Qualys 的研究人员能够在多个 Linux 发行版上获得完整的 root 权限,研究人员分别在 Debian 10(Sudo 1.8.27)、Ubuntu 20.04(Sudo 1.8.31)和 Fedora 33(Sudo 1.9.2)上重现了 CVE-2021-3156 漏洞。根据 Qualys 的说法,CVE-2021-3156 漏洞在其他 Sudo 所支持的操作系统和发行版中同样存在。


漏洞在对外公开前就已修复


该漏洞最早是在 2011 年 7 月由 Sudo 程序引入进系统之中,距今已接近 10 年时间。它会影响从 1.9.0 到 1.9.5p1 的所有稳定版本,以及从 1.8.2 到 1.8.31p2 的所有旧版本的默认配置。

Qualys 于 1 月 13 日就在 Sudo 程序的内部社群披露了此漏洞,而今天 Sudo 开发者正式推出 sudo 1.9.5p2 版本,并在该版本中修复了漏洞。为了防止该漏洞被滥用,因此直到现在 Qualys 才正式对外披露了他们的发现。

要测试你的系统是否受到该漏洞影响,首先必须以非 root 用户的身份登录系统并运行 “*sudoedit -s /“*命令。易受攻击的系统将引发以 “sudoedit:” 开头的错误,而已修补系统将显示以 “usage:”开头的错误。

使用 Sudo 将 root 权限委派给其他用户的系统管理员应尽快升级到 sudo 1.9.5p2 或更高版本。

Qualys 发布的技术细节:https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txt


相关推荐

基于 Linux 快速搭建企业级 DNS 服务器(Bind9 ...

一、引言在大型企业网络或自建系统中,搭建一套高可用、自控的DNS解析服务器至关重要。本文将带你基于Linux环境,从零搭建企业级DNS服务平台,采用Bind9实战配置,确保解析稳定、安...

Linux无法解析域名的解决办法(linux无法解析域名的解决办法有哪些)

如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。  此时,需要手动修改配置文件:  /etc/resolv.conf  将域名解析服务器手动添加到配置文件中  该文件是DNS域名解...

在centos7 创建基于域名的虚拟主机nginx服务器

直接用ip地址访问首先是不安全,其次不太容易记住,如果你的服务器上的项目有很多个,你创建多个基于Ip的虚拟主机,很容易导致公网ip冲突或乱用的情况。这时候我们就可以选择基于域名的虚拟主机。第一步、安装...

Linux之DNS服务(linux dnsserver)

一、学习路线如下二、DNS介绍1.域名的概念域名由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。2.DNS(dom...

Linux环境下DNS服务器配置图文详细教程

测试环境为vmware虚拟机下,linux系统为RedHatEnterpriseLinuxServer6.0(Santiago),内核版本Linux2.6.32-71.el6.i686...

构建基于 Linux 的高性能 DNS 服务器

在现代网络架构中,DNS(域名解析)是访问互联网的关键环节。搭建一个高性能、低延迟、可缓存加速的私有DNS服务器,不仅可以提升访问速度,还能增强网络隐私和安全性。本文将基于Linux系统,详细...

从运维的角度带你初识neo4j图形数据库的安装及配置

前言随着公司业务架构的改变,以前我部署环境的时候,一般只是部署Mysql,jdk,tomcat即可,现在还要部署一些nosql,如redis,neo4j,在之前从来没了解过,随着学习的深入而做了一些笔...

[超全整理] Java 程序员必备的 100 条 Linux 命令大全

一、基础操作(10条)#1.ls-查看目录内容ls-l#长格式显示文件和目录ls-a#显示隐藏文件ls-lh#带单位显示文件大小#2.cd-切换目录...

软件测试|一文教你轻松搭建docker环境

前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个Do...

docker基础知识/尚硅谷docker学习笔记

最近看了好多docker的资料,找了一些尚硅谷docker的教学视频,大概总结了一下前前后后的学习笔记。分享给大家。安装Docker的基本组成镜像Docker镜像(Image)就是一个只读的模板。镜...

前端_react项目从windows部署到centos

前言:从工程角度来讲,本地开发完就要把项目部署到生产环境,此过程的快慢也直接影响着整体的效率。所以也有很多人做持续集成的工作,例如:CI/CD/一键部署。但对于个人开发者而言,如果能有工具支撑是最好的...

Springboot项目使用docker部署(docker中运行springboot项目)

环境:SpringBoot2.2.10.RELEASE+Docker+Centos7+JDK8安装配置Dockeryum包更新到最新yumupdate卸载旧版本dockeryumre...

Spring Boot 3.x + Redis 7.x,轻松掌握Redisson分布式锁实战技巧

大家好,我是袁庭新。在分布式环境中,确保数据的一致性和正确性是至关重要的。对于需要高性能、高并发和分布式数据存储的应用程序来说,Redisson是一个很好的选择。同时,Redisson提供的分布式锁功...

Docker篇(二):Docker实战,命令解析

大家好,我是杰哥上周我们通过几个问题,让大家对于Docker有了一个全局的认识。然而,说跟练往往是两个概念。从学习的角度来说,理论知识的学习,往往只是第一步,只有经过实战,才能真正掌握一门技术所以,本...

新手快速入门Docker,轻松掌握Docker安装与使用

安装使用官方安装脚本自动安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun手动安装CentOS7(使用yum进...

取消回复欢迎 发表评论: