CloudFlare CDNJS漏洞可能导致广泛的供应链攻击

Web基础设施和网站安全公司Cloudflare上个月修复了其CDNJS库中的一个严重漏洞,该漏洞被互联网上12.7%的网站使用。
CDNJS是一个免费、开源的内容交付网络(CDN),为大约4041个JavaScript和CSS库提供服务,使其成为继谷歌托管库之后第二受欢迎的JavaScript CDN。
该漏洞与CDNJS库更新服务器中的一个问题有关,该问题可能允许攻击者执行任意命令,从而导致完全的危害。
该漏洞是由安全研究员RyoTak在2021年4月6日发现并报告的。目前还没有证据表明存在滥用该缺陷的疯狂攻击。
具体来说,该漏洞的工作原理是使用GitHub和npm将包发布到Cloudflare的CDNJ,并使用它触发路径遍历漏洞,最终诱使服务器执行任意代码,从而实现远程代码执行。
值得注意的是,CDNJS基础设施包括一些功能,可以通过定期在服务器上运行脚本,从相应的用户管理的Git存储库或npm包注册表下载相关文件,从而自动更新库。

通过发现该机制如何清理包路径的问题,RyotaK发现,“从发布到npm的.tgz文件执行路径遍历并覆盖服务器上定期执行的脚本后,可以执行任意代码。”
换句话说,攻击的目标是向存储库发布精心编制的软件包的新版本,然后在将恶意软件包的内容复制到托管在服务器上的定期执行脚本文件的过程中,CDNJS library update server将该软件包取出来发布,从而获得任意代码执行。
RyotaK说:“虽然这个漏洞可以在没有任何特殊技能的情况下被利用,但它可能会影响许多网站。”。“鉴于供应链中存在许多漏洞,这些漏洞很容易被利用,但影响很大,我觉得这非常可怕。”
这不是安全研究人员第一次在处理软件存储库更新时发现代码执行缺陷。在2021年4月,RyoTak披露了一个关键的漏洞,在官方自制的容器库可能被攻击者利用在用户的机器上执行任意代码。