APP下载

GitHub修补可让骇客更新任何套件的Npm漏洞

消息来源:baojiabao.com 作者: 发布时间:2024-11-24

报价宝综合消息GitHub修补可让骇客更新任何套件的Npm漏洞
图片来源: 

GitHub

GitHub周一(11/15)修补了Node.js套件管理器Npm的两个安全漏洞,其一是在供第三方使用的复制服务器上(Replica Server)曝露了私有套件的名称,其二则是一个相对严重的安全漏洞,允许骇客更新任何Npm套件。

GitHub安全长Mike Hanley说明,第一个漏洞肇因于例行性的维护任务,在维护此一公开的复制Npm服务的数据库时,所建立的纪录曝露了私有套件的名称,因而允许使用者可自公开变更讯息中查看私有套件的名称,但并无法存取套件的内容。

只要是在今年10月20日以前建立的私有套件,名字都已经曝光,不过,曝光时间仅限于10月21日至10月29日。GitHub已在10月29日移除了复制数据库中的所有私有套件名称。但GitHub仍警告,在这期间存取该数据库的使用者,也许已经复制了这些名称。

为了避免类似的错误再度发生,GitHub变更了配置此一公共复制数据库的方式,以确保未来的程序不会再产生内含私有套件名称的纪录。

第二个漏洞则是来自于GitHub的抓漏专案,此一由外部研究人员发现的安全漏洞将允许骇客以一个不具备适当权限的账号,出版任何Npm套件的新版本,由于事态严重,使得GitHub团队在收到报告的6小时内便将它修补。

Hanley解释,此一漏洞是因为各种微服务在处理对Npm注册表的请求时,其授权检查与资料验证不一致所造成的。在此一架构中,授权服务是根据所请求URL路径上传递的资料,正确地验证了使用者对封包的权限,然而,在底层负责更新注册资料以判断要出版哪个封包的服务,却是依据所上传的封包档案内容。

这样一来,当请求出版一个封包的新版本时,将会取得一个封包的授权,但实际上却可执行一个完全不同且可能未经授权的封包。GitHub已让授权及发布服务达成一致,解决了该漏洞。

目前GitHub只能确定该漏洞自2020年9月以来并未被开采,而无法得知更早之前是否曾遭受过攻击。

2021-11-18 12:46:00

相关文章