平台
nodejs
组件
is
修复版本
0.9.1
CVE-2020-26302是is.js通用检查库中发现的拒绝服务(DoS)漏洞。该漏洞源于库中使用的正则表达式,恶意构造的URL字符串可能导致正则表达式引擎进入无限循环,从而消耗大量资源,导致服务不可用。受影响的版本包括is.js 0.9.0及更早版本。此问题已在is.js 0.9.1版本中得到修复。
CVE-2020-26302 影响通用检查库 is.js。0.9.0 及更早版本包含正则表达式拒绝服务 (ReDoS) 漏洞,这是由于用于验证 URL 的低效正则表达式造成的。该正则表达式是从 gist 复制的,在处理恶意字符串时可能会进入无限循环,导致服务器资源过度消耗并可能导致服务中断。该漏洞在 CVSS 评分系统中评为 7.5,表明存在中等程度的风险。is.js 缺乏官方补丁加剧了这种情况,需要采取替代的缓解措施。
利用 CVE-2020-26302 涉及将专门设计的 URL 发送到使用 is.js 的应用程序。此 URL 包含一个字符串,该字符串会触发 URL 验证正则表达式中的无限循环。攻击者无需进行身份验证即可利用此漏洞,因为它会影响库的验证逻辑。影响可能从服务器性能下降到完全的服务中断,具体取决于服务器负载和恶意字符串的复杂程度。在处理来自外部来源的大量 URL 的 Web 应用程序中,此漏洞尤其令人担忧。
Applications built using is.js, particularly those that handle user-supplied URLs without proper validation, are at risk. Node.js projects relying on this library are especially vulnerable. Shared hosting environments where multiple applications share the same server resources could experience broader impact from a successful attack.
• nodejs: Monitor CPU usage spikes when validating URLs. Use ps or top to identify processes consuming excessive CPU.
ps aux | grep is.js• generic web: Examine access logs for unusual patterns of URL requests. Look for URLs containing complex or unusual characters.
grep 'complex_url_pattern' /var/log/apache2/access.logdiscovery
disclosure
漏洞利用状态
EPSS
0.27% (51% 百分位)
CVSS 向量
由于 is.js 没有针对 CVE-2020-26302 提供官方补丁,因此主要的缓解措施包括升级到 0.9.1 之前的版本或在可行的情况下完全删除 is.js 的使用。如果无法升级,建议实施强大的输入过滤器,在将 URL 传递给 is.js 之前验证 URL。此过滤器应拒绝包含任何可疑模式或异常字符的 URL。此外,限制正则表达式的执行时间可以帮助防止 ReDoS 攻击,尽管这可能会影响库的功能。监控服务器的 CPU 和内存使用情况对于检测潜在的 ReDoS 攻击至关重要。
Este paquete contiene una vulnerabilidad ReDoS. No existe una versión corregida. Se recomienda evaluar alternativas a la librería is.js o implementar validaciones adicionales para las URLs antes de usar la función vulnerable.
漏洞分析和关键警报直接发送到您的邮箱。
ReDoS (Regular Expression Denial of Service) 是一种利用正则表达式的低效性来导致服务拒绝的攻击类型。
此漏洞可能允许攻击者中断 Web 应用程序的服务,使其消耗过多的资源。
不,is.js 没有发布此漏洞的官方修复程序。
在将 URL 传递给 is.js 之前,实施强大的输入过滤器以验证 URL,并限制正则表达式的执行时间。
监控服务器的 CPU 和内存使用情况。突然且持续的增加可能表明存在 ReDoS 攻击。