日前,一个被大量下载的 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
去中心化到底是什么? 如今在区块链的世界中,当大家分析一个新项目的时候,必然...
本文转载自微信公众号「神奇的程序员k」,作者神奇的程序员k。转载本文请联系神...
区块链的诞生是伴随着数字货币的出现,人们通过数字货币发现底层区块链技术有着...
本文转载自微信公众号前端先锋(jingchengyideng)。 Web 安全已经是 Web 开发中...
DeFi革命正在如火如荼地进行,并有望挑战传统金融,但除DeFi之外,还有哪些有前...
微软发布了紧急补丁,以解决Exchange Server中此前未公开的四个安全漏洞。据称,...
物联网使我们能够简化工作流程,优化资源,并提供更好的客户服务。Avalara的高级...
理论上中本聪已经是世界首富了。王兴在饭否上如是说。 王兴是美团创始人,同样也...
一年前,一切都变了,大部分人的生活完全转移到网上。事实上,不仅人们的生活和...
1.我是怪人,听歌会流泪,想起谁会不入睡。 2.我的眼泪,是对某人绝口不提的伤...