平台
nodejs
组件
path-to-regexp
修复版本
0.1.13
0.1.12
CVE-2024-52798是path-to-regexp库中存在的一个正则表达式回溯漏洞。该漏洞允许攻击者通过构造特定的输入,触发正则表达式引擎的过度回溯,从而导致拒绝服务(DoS)攻击。受影响的版本包括0.1.12之前的path-to-regexp版本。此漏洞已在0.1.12版本中修复。
path-to-regexp 的 CVE-2024-52798 漏洞源于生成可能导致过度回溯的正则表达式。这影响了 0.1.12 之前的版本。攻击者可能利用此漏洞导致拒绝服务 (DoS),通过强制系统尝试匹配恶意模式而消耗过多的 CPU 资源。CVSS 严重性评级为 7.5,表明高风险。此漏洞与原始报告 CVE-2024-45296 相关,表明与同一根本问题相关的演进或额外发现。
当 path-to-regexp 生成允许过度回溯的正则表达式时,此漏洞会显现出来。这可能发生在定义具有多个参数和复杂分隔符的路由时。攻击者可以提供精心设计的输入,导致正则表达式尝试多个组合,从而耗尽系统资源。这在负载高的环境中尤其令人担忧,因为拒绝服务会对系统产生重大影响。
Applications built on Node.js that utilize the path-to-regexp package for URL routing or parameter parsing are at risk. This includes web applications, APIs, and microservices. Projects relying on older versions of path-to-regexp without proper input validation are particularly vulnerable.
• nodejs / server:
npm list path-to-regexp• nodejs / server:
npm audit path-to-regexp• nodejs / server:
grep -r 'path-to-regexp' ./node_modulesdisclosure
漏洞利用状态
EPSS
0.22% (44% 百分位)
CISA SSVC
推荐的解决方案是将 path-to-regexp 升级到 0.1.12 版本。如果无法立即升级,则作为替代措施,避免在分隔符不是点 (.) 时,在单个路径段中使用两个参数。例如,避免 /:a-:b 模式。或者,明确定义用于两个参数的正则表达式,并确保它们不重叠,以防止回溯。此缓解措施可降低攻击者创建触发问题的模式的可能性。
Actualice la biblioteca path-to-regexp a la versión 0.1.12 o superior. Esto solucionará la vulnerabilidad ReDoS. Ejecute `npm install path-to-regexp@latest` o `yarn add path-to-regexp@latest` para actualizar.
漏洞分析和关键警报直接发送到您的邮箱。
回溯是正则表达式引擎用于查找匹配项的过程。在这种情况下,构造不当的正则表达式可能会进入回溯循环,尝试多个组合直到耗尽系统资源。
版本 0.1.12 通过防止生成容易发生过度回溯的正则表达式来修复漏洞。升级是降低风险的最安全方法。
如果无法立即升级,请应用替代缓解措施,即避免在分隔符不是点的单个路径段中使用两个参数。
如果您使用的是 path-to-regexp 的 0.1.12 之前的版本,并且使用具有多个参数和复杂分隔符的路由,那么您很可能容易受到攻击。
替代缓解措施可能会对性能产生轻微影响,但优于漏洞引起的拒绝服务。
CVSS 向量