• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们
docurl=/cn/Products___Technology/Products/IP_Security/Security_Research/Home/Notice/Notice/202112/1519606_30003_0.htm

Npm Netmask SSRF绕过漏洞(CVE-2021-28918)

【发布时间:2021-12-30】

威胁预警团队

2021/03/31


1. 漏洞综述

1.1 漏洞背景

Npm为Node.jsde包管理工具,用来安装各种 Node.js 的扩展。Netmask是npm库中的一个软件包,它被成千上万的应用程序用来解析或比较IPv4地址和CIDR块。该软件包的每周下载量超过300万次,截至目前,netmask已经累计有超过2.38亿的总下载量。此外,大约有278,000个GitHub存储库依赖netmask。近日,新华三攻防实验室威胁预警团队监测到网络上披露了Netmask存在服务端请求伪造(SSRF)或远程文件包含(RFI)漏洞(CVE-2021-28918),并进行了跟踪和分析。

1.2 漏洞原理

该漏洞是由于netmask在解析带有前导零的IP地址时,未正确进行验证,任何前导零都会被忽略,把应该视为八进制格式的IP地址当作十进制,从而解析为不同的IP。例如输入0127.0.0.1时,浏览器会将其视为八进制格式的IP,实际访问IP应该是81.0.0.1,但netmask却自动忽略了前面的0,将它视为127.0.0.1。127.0.0.1并非公网IP地址,而是一个本地环回地址,通过利用该漏洞,可导致解析为另一台主机。

该漏洞虽然看起来无法直接造成严重后果,但充分利用后却会带来巨大灾难。如果浏览器能够解析八进制格式IP地址,但Node.js应用程序不解析,则攻击者可构造任何看起来像是内部地址的请求,但实际却是远端服务器的恶意文件,或者是请求看起来是公网地址,但其实是内部私有IP地址资源,从而引发SSRF或RFI攻击。

此漏洞从netmask自9年前现身以来,便存在迄今。影响到成千上万的项目,目前该漏洞的利用细节已公开,建议受影响用户及时排查,避免遭受损失。

2. 影响范围

NPM库Netmask组件

3. 严重等级

高危

4. 处置方法

4.1官方补丁

1、目前官方已修复该漏洞,建议及时更新至netmask版本2.0.0,下载链接: https://www.npmjs.com/package/netmask

5. 参考链接

1、 https://www.bleepingcomputer.com/news/security/critical-netmask-networking-bug-impacts-thousands-of-applications/

新华三官网
联系我们