日前,一个被大量下载的 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
文章标题:老牌Node.js组件存在代码注入漏洞
标题路径:http://www.mswzjz.cn/qtweb/news26/363176.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能