站长

知名 Node.js 组件存在代码注入漏洞

作者:admin 2021-04-28 我要评论

日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞。 该漏洞被追踪为 CVE-2021-21315,影响了「systeminformation」npm 组件的安全性,该...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞。

该漏洞被追踪为 CVE-2021-21315,影响了「systeminformation」npm 组件的安全性,该组件每周的下载量约为 80 万次,自诞生以来,至今已获得近 3400 万次下载。

漏洞已被修复

简单来说,「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

【责任编辑:未丽燕 TEL:(010)68476606】
本文转载自网络,原文链接:https://www.oschina.net/news/131199/heavily-used-nodejs-package-has-a-code-injection-vulnerability

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 知名 Node.js 组件存在代码注入漏洞

    知名 Node.js 组件存在代码注入漏洞

  • 代码安全性和健壮性:如何在if和assert

    代码安全性和健壮性:如何在if和assert

  • CSO指南:全球最危险也最有名的勒索软

    CSO指南:全球最危险也最有名的勒索软

  • CVE-2021-3156:存在10年的sudo bug

    CVE-2021-3156:存在10年的sudo bug