CVE-2025-6547 is a critical vulnerability affecting historic, yet still supported, versions of Node.js (0.12 - 2.x). This flaw resides within the pbkdf2 module, where it silently disregards Uint8Array input, potentially weakening password hashing. Affected versions include Node.js releases prior to 3.1.3, and a fix has been released.
CVE-2025-6547 影响 Node.js 的历史版本,但仍在支持 (0.12 - 2.x) 中的 pbkdf2 库。 具体来说,pbkdf2 函数会静默忽略 Uint8Array 输入。 虽然该库声称支持从 0.12 开始的 Node.js 版本,但这种意外的行为可能会危及密码和其他敏感数据的安全性。 CVSS 已评为 9.5,表明存在关键风险。 这意味着攻击者可能会从弱密码或可预测的密码中推导出密钥,而不会被检测到,因为输入验证被省略。 缺乏适当的验证允许输入操作,可能导致密钥生成错误或信息泄露。 为了减轻这种风险,升级到已修复的版本至关重要。
如果攻击者能够控制传递给 pbkdf2 函数的输入,则他们可以利用此漏洞,这些函数位于易受攻击的 Node.js 版本中。 这可能发生在接受用户密码的 Web 应用程序或使用 pbkdf2 安全存储密钥的系统上。 攻击将是静默的,因为当忽略 Uint8Array 输入时,库不会生成任何错误或警告。 这将允许攻击者在未被检测到的情况下操作派生密钥。 由于旧版本的 Node.js 仍在许多系统中使用,因此此漏洞尤其令人担忧,这使它们成为有吸引力的目标。 缺乏适当的输入验证是安全漏洞的常见原因,此情况也不例外。
Applications and services relying on Node.js versions 0.12 through 2.x are at significant risk. This includes legacy applications, systems with outdated dependencies, and environments where Node.js has not been regularly updated. Shared hosting environments using older Node.js versions are particularly vulnerable.
• nodejs / server:
node -v | grep -q '0.12\.\|1\.\|2\.' && echo "Potentially vulnerable Node.js version detected!" || echo "Node.js version is safe."• nodejs / server:
npm list pbkdf2 | grep -q '>=3.1.3' || echo "pbkdf2 version is potentially vulnerable!"• nodejs / server:
find /usr/local/lib/node_modules /opt/node/lib/node_modules -name "pbkdf2" -type d -print0 | xargs -0 grep -l 'toBuffer' disclosure
漏洞利用状态
EPSS
0.03% (9% 百分位)
CISA SSVC
建议的解决方案是升级到 Node.js 版本 3.1.3 或更高版本。此版本通过正确处理 Uint8Array 输入来修复漏洞。 如果无法立即升级 Node.js,请考虑使用实现更强大的输入验证的替代库替换 pbkdf2 库。 此外,请检查使用 pbkdf2 的代码,以确保 Uint8Array 数据未意外地作为密码传递。 在应用程序代码中实现额外的验证,以确保密码作为字符串或缓冲区传递,可以提供额外的保护层。 监控与 pbkdf2 相关的应用程序日志中的错误或异常行为也有助于检测潜在的利用尝试。
Actualice la dependencia pbkdf2 a una versión posterior a 3.1.2. Esto solucionará la vulnerabilidad de validación de entrada incorrecta. Consulte el advisory GHSA-v62p-rq8g-8h59 para obtener más detalles.
漏洞分析和关键警报直接发送到您的邮箱。
不,它仅影响 0.12 到 2.x 的版本。
这是一个用于安全地从密码派生密钥的 Node.js 库。
检查您使用的 Node.js 版本。 如果低于 3.1.3,则容易受到攻击。
考虑用替代方案替换 pbkdf2 或在您的代码中实现额外的验证。
它表示关键风险,这意味着漏洞很容易被利用并可能产生重大影响。