CVE-2021-3156漏洞权限提升复现及修复

以前从来没关注过服务器漏洞情况,近期事情不多想着修复下比较高危的安全漏洞,经过扫描发现有个CVE-2021-3156的权限提升漏洞,并且漏洞并且已经有了漏洞验证程序
file
以前从来没复现过漏洞 只想着怎么修复,这次就来学习下如何完整的复现漏洞

漏洞判断

执行sudoedit -s '\\' 后:
出现sudoedit:”开头的错误,说明系统可能存在此安全风险。
file
不受影响的系统将显示以“ usage:”开头的错误
file

漏洞复现

复现过程

1、服务器新建普通账户并查看当前账户权限
新建账号jc 并执行whoami查看此账号权限并不属于root
file
2、下载poc提权程序进行验证
https://haxx.in/CVE-2021-3156_nss_poc_ubuntu.tar.gz
将下载好的POC程序上传到服务器,使用tar命令解压,解压后可以看到以下文件
file
cd到CVE-2021-3156目录下,执行make(测试环境需要gcc编译器的支持才能正常编译),编译通过后多出一个./sudo-hax-me-a-sandwich的可执行文件
file

执行./sudo-hax-me-asanwich 0后再执行whoami可以看到提权成功了,此时jc账户的权限已经属于root了。
file

修复方案

更新sudo的版本
官方下载地址:https://www.sudo.ws/download.html

或执行命令:
wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
下载新的sudo文件后用tar命令解压
file
执行./configure
file
执行make && sudo make install安装新的版本即可!