CVE-2021-3795 描述了 Node.js 包 semver-regex 中的一个拒绝服务 (DoS) 漏洞。该漏洞源于正则表达式复杂度低效,可能导致应用程序资源耗尽,从而导致服务不可用。该漏洞影响 3.1.0 及更早版本,建议升级至 3.1.3 版本以解决此问题。
该漏洞允许攻击者通过构造恶意输入来触发正则表达式引擎的过度消耗,从而导致 Node.js 应用程序崩溃或变得无响应。攻击者可能利用此漏洞来中断服务,拒绝合法用户访问应用程序。由于 semver-regex 广泛应用于 Node.js 项目中,特别是用于版本控制和依赖管理,因此该漏洞的潜在影响范围非常广泛。攻击者可以通过发送精心设计的版本字符串来触发此漏洞,从而导致服务器资源耗尽。
该漏洞已公开披露,且存在公开的 PoC 代码。目前尚无关于该漏洞被积极利用的公开报告,但由于其易于利用和广泛的应用,存在被利用的风险。该漏洞尚未被添加到 CISA KEV 目录。
Applications and services built on Node.js that utilize the semver-regex package for version validation or processing are at risk. This includes projects that handle user-provided version information, interact with package managers, or rely on external systems that provide version strings. Specifically, projects using older versions of npm or yarn that automatically install vulnerable dependencies are particularly susceptible.
• nodejs / server:
npm list semver-regexIf the output shows a version prior to 3.1.3, the system is vulnerable. • nodejs / server:
npm audit semver-regexThis command will identify vulnerable packages in your project.
• nodejs / supply-chain: Examine package.json files for dependencies on semver-regex and check their versions.
disclosure
漏洞利用状态
EPSS
0.23% (45% 百分位)
CVSS 向量
最有效的缓解措施是升级 semver-regex 包至 3.1.3 或更高版本。如果无法立即升级,可以考虑使用 Web 应用程序防火墙 (WAF) 来过滤恶意输入,或者实施输入验证机制,以防止包含可能触发漏洞的特殊字符的版本字符串。此外,监控 Node.js 应用程序的资源使用情况,可以帮助检测和响应潜在的攻击。升级后,请确认版本已成功更新,并测试应用程序以确保其正常运行。
将 semver-regex 依赖更新到 4.0.1 或更高版本。如果使用 3.x 版本,请更新到 3.1.3 或更高版本。这修复了正则表达式复杂度低效的漏洞。
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2021-3795 是 semver-regex Node.js 包中发现的一个拒绝服务 (DoS) 漏洞,由于正则表达式复杂度低效导致。
如果您正在使用 semver-regex 包的 3.1.0 或更早版本,则您可能受到此漏洞的影响。
将 semver-regex 包升级至 3.1.3 或更高版本以修复此漏洞。
目前尚无关于该漏洞被积极利用的公开报告,但存在被利用的风险。
请访问 semver-regex 包的 GitHub 仓库或 npm 官方网站以获取更多信息。