Github修复npm中的两个安全漏洞

 漏洞资讯     |      2021-11-18

一、   漏洞描述

npm是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展,后被GitHub收购。

GitHub本次公开披露的两个漏洞是近两个月在npm中发现的,第一个漏洞为信息泄露漏洞,第二个漏洞为授权漏洞。

二、   漏洞详情

npm信息泄露漏洞

CVE: 暂无

组件:  npm

漏洞类型: 配置问题

影响: 泄露了私有npm包名

简述: 该漏洞是npmjs的复制服务器上的数据泄漏,这是由 "日常维护 "造成的,导致暴露了私有npm包的名称列表,但在维护窗口期间,这些包的内容并没有暴露。

当在为Replication.npmjs.com 上的公共 npm 副本提供支持的数据库进行维护期间,创建的记录可能会暴露私有包的名称,虽然私有包的内容没有暴露,但这些名称信息足以让攻击者以自动化的方式进行有针对性的依赖混淆攻击和域名抢注。

虽然目前所有包含私有包名称的记录已经从 npm 的复制数据库中删除,但replicate.npmjs.com 服务仍被第三方使用,因此第三方可能会继续保留副本或可能已将数据复制到其他地方。GitHub已经对其生成公共复制数据库的过程进行了修改,以在未来消除私人软件包名称泄露问题。

Npm授权露漏洞

CVE: 暂无

组件:  npm

漏洞类型: 代码问题

影响: 泄露了私有npm包名

简述:此漏洞源于处理对npm注册表的请求的多个微服务之间不正确的授权检查和数据验证,导致授权和发布的软件包存在差异。攻击者可以在没有适当授权的情况下使用账户发布任何npm包的新版本。

GitHub表示该漏洞目前尚未被恶意利用,并且已经通过确保发布服务和授权服务的一致性来缓解这个问题,以确保授权和发布使用的是同一个软件包。

此外,流行的npm库 "ua-parser-js"、"coa "和 "rc "之前在一系列攻击中被劫持,目的是用木马和加密矿工感染开源软件消费者。据 GitHub 称,这些流行库的维护者都没有在他们的账户上启用双因素身份验证 (2FA),因此,为避免这种情况再次发生,GitHub将要求 npm 维护人员在 2022 年开始启用2FA。

三、  安全建议

通用修补建议:

目前这些漏洞已经修复,建议相关用户注意防范此类攻击。

参考链接:

https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/





漏洞信息摘自:启明星