几天前,一个被大量下载的 Node.js 组件被发现含有注入漏洞的高危代码。
这个漏洞被追踪成 CVE-2021-21315,影响了「systeminformation」npm 组件的安全性,组件每周下载量约80 1万次,自诞生以来,已下载近3400 1万次。
漏洞已修复
简单来说,「systeminformation」是轻量级 Node.js 组件,开发人员可以在项目中添加组件进行检索和 CPU、系统信息与硬件、电池、 *** 、服务和系统流程有关。
该组件的开发人员说:"虽然 Node.js 带来了一些基本的操作系统信息,但我一直想得到更多的信息。所以我写了这个小组件。该组件仍在开发中。它可以用作后端/服务器端的组件,当然不会在浏览器中工作"。
然而,「systeminformation」中代码注入漏洞的存在意味着攻击者可以通过在组件使用的未初始化参数中仔细注入有效载荷来执行系统命令。
如下图所示「systeminformation」在 5.3.1 版本的修复将在调用进一步命令之前清理参数,以检查它们是否是字符串数据类型,并在任何时候检查参数是否被原型污染。
「systeminformation」用户应升级为 5.3.1 及以上版本,以解决其应用程序中的 CVE-2021-21315 漏洞。
灵活性也可用
对于那些项目灵活性低、无法升级到修复版本的开发者,「systeminformation」该项目的出版商还在公告中分享了一种灵活的 *** 。
安全公告中提到:“作为替代升级的灵活 *** ,必须检查或清理并传递给 si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad() 服务参数。只允许字符串拒绝任何数组。”
这还涉及到清理参数中的任何非法字符,并正确验证它们是否属于字符串数据类型。
本文转自OSCHINA
著名 Node.js 组件代码注入漏洞
本文地址:https://www.oschina.net/news/131199/heavily-used-nodejs-package-has-a-code-injection-vulnerability