VU#725167: node-forge RSA-PKCSおよびED25519実装における署名偽造の脆弱性
広く使用されているnode-forge JavaScriptライブラリに、2つの重要な暗号署名検証の脆弱性が存在します。これらの欠陥により、攻撃者は特定の状況下で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です。主な影響は、攻撃者が認証、コード署名、またはトークン検証をバイパスできることです。一般的なJOSEライブラリを含む、デフォルトのnode-forge検証APIを使用するアプリケーションが潜在的に危険にさらされています。悪用は容易であり、ネットワーク経由で発生する可能性があります。2026年4月5日にリリースされたバージョン1.4.0は、RSAおよびEd25519署名の両方に対して厳格な標準検証を強制することにより、これらの問題を完全に解決します。ユーザーは、これらの脆弱性を修正するために、このバージョンにアップグレードすることを強く推奨します。即時のアップグレードが不可能な場合は、呼び出しサイトの監査とNode.jsネイティブのcrypto検証へのフォールバックが推奨される緩和策です。