Py学习  »  Git

【漏洞通告】GitHub修复npm中的两个安全漏洞

维他命安全 • 2 年前 • 352 次点击  

0x00 漏洞概述

近日,GitHub公开披露了在npm中发现并已修复的2个安全漏洞,攻击者可利用该漏洞发起针对性的依赖混淆攻击和域名抢注,或者未经授权更新任何npm包的新版本。

 

0x01 漏洞详情

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

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

npm信息泄露漏洞

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

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

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

 

npm授权漏洞

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

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

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

 

0x02 处置建议

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

参考链接:

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

 

0x03 参考链接

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

https://www.bleepingcomputer.com/news/security/npm-fixes-private-package-names-leak-serious-authorization-bug/

https://securityaffairs.co/wordpress/124671/security/github-npm-package-flaws.html?

 

0x04 更新版本

版本

日期

修改内容

V1.0

2021-11-17

首次发布

 

0x05 附录

公司简介
启明星辰公司成立于1996年,并于2010年6月23日在深交所中小板正式挂牌上市,是国内最具实力的信息安全产品和安全管理平台、安全服务与解决方案的领航企业之一。
公司总部位于北京市中关村软件园,在全国各省、市、自治区设立分支机构六十多个,拥有覆盖全国的销售体系、渠道体系和技术支持体系;并在华北、华东、西南和华南布局四大研发中心,分别为北京研发总部、上海研发中心、成都研发中心和广州研发中心。
多年来,启明星辰致力于提供具有国际竞争力的自主创新的安全产品和最佳实践服务,帮助客户全面提升其IT基础设施的安全性和生产效能,为打造和提升国际化的民族信息安全产业领军品牌而不懈努力。

关于我们
启明星辰安全应急响应中心主要针对重要安全漏洞的预警、跟踪和分享全球最新的威胁情报和安全报告。
关注以下公众号,获取全球最新安全资讯:


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/123013
 
352 次点击