CVE-2026-33895 是 node-forge 库中 Ed25519 签名验证存在的一个安全漏洞,该漏洞允许接受伪造的非规范签名,其中标量 S 未根据组顺序进行缩减(S >= L)。攻击者可以利用此漏洞绕过身份验证和授权逻辑。此漏洞影响 node-forge 库的早期版本。该漏洞已在 1.4.0 版本中修复。
CVE-2026-33895 在 'forge' 库中允许验证伪造的非规范 Ed25519 签名。 具体来说,库接受标量 'S' 未按群的阶数还原(S >= L)的签名。 这意味着有效签名及其 'S + L' 变体都被接受为有效,违反了 RFC8032 规范。 此签名可变性漏洞已被实际利用来绕过身份验证和授权逻辑。 CVSS 严重性为 7.5,表明存在重大风险。 'forge' 库的 1.4.0 之前的版本受到影响。
此漏洞通过利用 Ed25519 签名可变性进行利用。 攻击者可以生成一个非规范签名(S + L),该签名被易受攻击的 'forge' 库接受,但被兼容的实现(例如使用 OpenSSL 的 Node.js crypto.verify)拒绝。 这使攻击者能够伪造用户或系统身份,绕过访问控制并破坏系统安全。 生成这些可变签名的容易程度使得利用相对简单。
Applications and services relying on node-forge for Ed25519 signature verification are at risk. This includes Node.js applications using node-forge directly or indirectly through dependencies. Specifically, systems with older, unpatched versions of node-forge are vulnerable, and those relying on node-forge for critical authentication or authorization processes face the highest risk.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -match 'node'}• nodejs / supply-chain:
Get-WinEvent -LogName Application -Filter "EventID=4688 -ProviderName 'Microsoft-Windows-Sysmon/Operational' -MessageText '*node-forge*'"• generic web:
curl -I https://your-application.com/api/verify-signature | grep 'Signature:'disclosure
漏洞利用状态
EPSS
0.03% (7% 百分位)
CISA SSVC
建议的解决方案是将 'forge' 库升级到 1.4.0 或更高版本。 此版本通过实现 'S' 标量的适当验证来修复漏洞,以确保其按群的阶数正确还原。 如果无法立即升级,请审查并加强依赖于 'forge' 库生成或验证的 Ed25519 签名身份验证和授权机制。 评估此漏洞对受影响系统的影响并相应地优先升级或缓解至关重要。 监控安全日志可以帮助检测利用尝试。
Actualice la biblioteca Forge a la versión 1.4.0 o superior. Esto corrige la vulnerabilidad de falsificación de firmas Ed25519 al agregar la verificación faltante S > L.
漏洞分析和关键警报直接发送到您的邮箱。
签名可变性是某些数字签名算法的特性,其中可以修改有效的签名以表示不同的消息,而不会使签名无效。 在这种情况下,将 'L' 添加到 'S' 会创建一个仍然被易受攻击的库接受的签名。
Node.js crypto.verify 使用 OpenSSL,它根据 RFC8032 实现 Ed25519 签名验证,并拒绝非规范签名。
如果无法立即升级,请审查并加强您的身份验证和授权机制。 考虑实施额外的措施,例如验证证书指纹,以降低风险。
检查您使用的 'forge' 库的版本。 如果是 1.4.0 之前的版本,则您的系统容易受到攻击。 监控安全日志以查找可疑的签名模式也可以提供帮助。
虽然此漏洞侧重于 'forge' 库,但重要的是要检查使用 Ed25519 的其他库,以确保它们以安全的方式实现签名验证。
CVSS 向量