VU#725167:node-forge 在 RSA-PKC... 笔记

VU#725167:node-forge 在 RSA-PKCS 和 ED25519 实现中的签名伪造漏洞

在广泛使用的 node-forge JavaScript 库中存在两个关键的密码学签名验证漏洞。这些缺陷允许攻击者在特定条件下伪造 RSA(PKCS#1 v1.5)和 Ed25519 签名。RSA 漏洞(CVE-2026-33894)源于接受非规范 ASN.1 编码以及签名验证过程中填充不足,使得攻击者能够构造出 node-forge 验证通过但标准库拒绝的签名,尤其在公钥指数较低时更为显著。Ed25519 漏洞(CVE-2026-33895)则源于未强制要求标量规范性,导致接受具有非规范标量的签名,从而破坏签名的唯一性并支持替换攻击。受影响的版本范围:RSA 为 0.1.2 至 1.3.3,Ed25519 为 0.7.4 至 1.3.3。主要影响是攻击者能够绕过身份验证、代码签名或令牌验证。使用默认 node-forge 验证 API 的应用程序(包括流行的 JOSE 库)可能面临暴露风险。利用方式简单,且可在网络中发生。2026 年 4 月 5 日发布的 1.4.0 版本通过强制对 RSA 和 Ed25519 签名实施严格的规范验证,完全解决了这些问题。强烈建议用户升级至该版本以修补漏洞。若无法立即升级,建议的缓解措施包括审查调用站点并回退至 Node.js 原生加密验证。