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

👤 cesii 📅 2022年09月07日 10:02 👁️ 阅读 254 📂 web漏洞

以前从来没关注过服务器漏洞情况,近期事情不多想着修复下比较高危的安全漏洞,经过扫描发现有个CVE-2021-3156的权限提升漏洞,并且漏洞并且已经有了漏洞验证程序
CVE-2021-3156漏洞权限提升复现及修复
以前从来没复现过漏洞 只想着怎么修复,这次就来学习下如何完整的复现漏洞漏洞判断
执行sudoedit -s '\\' 后:
出现sudoedit:”开头的错误,说明系统可能存在此安全风险。
CVE-2021-3156漏洞权限提升复现及修复
不受影响的系统将显示以“ usage:”开头的错误
CVE-2021-3156漏洞权限提升复现及修复

漏洞复现

复现过程
1、服务器新建普通账户并查看当前账户权限

新建账号jc 并执行whoami查看此账号权限并不属于root
CVE-2021-3156漏洞权限提升复现及修复

2、下载poc提权程序进行验证

https://haxx.in/CVE-2021-3156_nss_poc_ubuntu.tar.gz
将下载好的POC程序上传到服务器,使用tar命令解压,解压后可以看到以下文件
CVE-2021-3156漏洞权限提升复现及修复
cd到CVE-2021-3156目录下,执行make(测试环境需要gcc编译器的支持才能正常编译),编译通过后多出一个./sudo-hax-me-a-sandwich的可执行文件
CVE-2021-3156漏洞权限提升复现及修复
执行./sudo-hax-me-asanwich 0后再执行whoami可以看到提权成功了,此时jc账户的权限已经属于root了。
CVE-2021-3156漏洞权限提升复现及修复

修复方案

更新sudo的版本

官方下载地址:https://www.sudo.ws/download.html
或执行命令:
wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
下载新的sudo文件后用tar命令解压
CVE-2021-3156漏洞权限提升复现及修复
执行./configure
CVE-2021-3156漏洞权限提升复现及修复
执行make && sudo make install安装新的版本即可!


Fatal error: Uncaught Error: Call to undefined function commentPost() in /www/wwwroot/cesii/content/templates/paperbook/echo_log.php:63 Stack trace: #0 /www/wwwroot/cesii/include/controller/log_controller.php(126): include() #1 /www/wwwroot/cesii/include/lib/dispatcher.php(114): Log_Controller->displayContent() #2 /www/wwwroot/cesii/index.php(10): Dispatcher->dispatch() #3 {main} thrown in /www/wwwroot/cesii/content/templates/paperbook/echo_log.php on line 63