CVE-2015-8858 描述了 uglify-js 软件中存在的拒绝服务(DoS)漏洞。攻击者可以通过向 parse() 方法传递精心构造的恶意输入,触发正则表达式引擎的耗尽,导致服务不可用。此漏洞影响 uglify-js 的所有版本低于 2.6.0 的版本,建议立即升级到 2.6.0 或更高版本以缓解风险。
此漏洞允许攻击者通过发送特制的输入数据,耗尽 uglify-js 进程的资源,导致服务拒绝响应。攻击者可以利用此漏洞对依赖 uglify-js 的 Node.js 应用进行 DoS 攻击,使其无法正常运行。攻击的成功可能导致应用程序崩溃、数据丢失,甚至影响整个系统的可用性。由于 uglify-js 广泛应用于前端代码压缩和混淆,因此该漏洞的潜在影响范围非常广泛,可能影响依赖于 uglify-js 的各种 Web 应用和工具。
该漏洞已公开,并存在可用的概念验证代码 (PoC)。虽然目前尚未观察到大规模的利用,但由于 uglify-js 的广泛应用,该漏洞仍然存在被利用的风险。该漏洞未被列入 CISA KEV 目录,但其潜在影响不容忽视。攻击者可能利用此漏洞对依赖 uglify-js 的 Web 应用进行 DoS 攻击,导致服务中断。
Node.js developers and DevOps teams using uglify-js in their projects are at risk. Specifically, projects using older versions of uglify-js (prior to 2.6.0) and those that do not have robust input validation mechanisms are particularly vulnerable. Applications that rely on uglify-js for minifying JavaScript code in production environments are also at increased risk.
• nodejs / server:
ps aux | grep uglify-js | grep -v grep | awk '{print $2}' | xargs -n 1 pmap -x | grep -q 'regex' # Check for excessive regex usage• nodejs / server:
journalctl -u nodejs | grep -i 'uglify-js' | grep -i 'error' # Look for errors related to uglify-js• generic web:
Inspect Node.js application logs for unusual CPU spikes or memory usage correlated with uglify-js processing.
discovery
disclosure
patch
漏洞利用状态
EPSS
0.90% (76% 百分位)
CVSS 向量
最有效的缓解措施是立即将 uglify-js 升级到 2.6.0 或更高版本。如果无法立即升级,可以考虑使用 Web 应用防火墙 (WAF) 或代理服务器来过滤恶意输入,阻止包含可能触发漏洞的正则表达式的请求。此外,可以对输入数据进行严格的验证和清理,确保其符合预期的格式和长度。如果使用 Node.js,可以考虑使用更安全的正则表达式引擎或限制正则表达式的复杂度,以降低 DoS 攻击的风险。升级后,请使用 npm list uglify-js 命令验证 uglify-js 版本是否已成功更新。
暂无官方补丁。请查找临时解决方案或持续关注更新。
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2015-8858 是一个拒绝服务(DoS)漏洞,影响 uglify-js 2.6.0 之前的版本。攻击者可以通过向 parse() 方法传递恶意输入来触发此漏洞,导致服务不可用。
如果您正在使用 uglify-js 2.6.0 之前的版本,则可能受到此漏洞的影响。请立即检查您的 uglify-js 版本并升级到最新版本。
修复此漏洞的最佳方法是将 uglify-js 升级到 2.6.0 或更高版本。您可以使用 npm install uglify-js@latest 命令来更新 uglify-js。
虽然目前尚未观察到大规模的利用,但由于 uglify-js 的广泛应用,该漏洞仍然存在被利用的风险。
您可以在 uglify-js 的 GitHub 仓库中找到关于此漏洞的公告:https://github.com/uglifyjs/uglify-js/issues/266