UNKNOWNCVE-2026-33895
Forgeには、S > Lチェックの欠落により、Ed25519における署名の偽造が存在します
プラットフォーム
nodejs
コンポーネント
forge
修正バージョン
1.4.0
Forge (`node-forge`とも呼ばれます) は、JavaScriptにおけるTransport Layer Securityのネイティブ実装です。バージョン1.4.0より前のEd25519署名検証では、スカラーSがグループ次数で縮小されない(`S >= L`)偽造された非正規署名を受け入れます。有効な署名とその`S + L`バリアントはどちらもForgeで検証されますが、Node.jsの`crypto.verify`(OpenSSLベース)は、仕様で定義されているように、`S + L`バリアントを拒否します。このクラスの署名の可鍛性は、認証および認可ロジックをバイパスするために実際に悪用されています(CVE-2026-25793、CVE-2022-35961を参照)。署名の一意性に依存するアプリケーション(署名バイトによる重複排除、リプレイ追跡、署名付きオブジェクトの正規化チェックなど)は、バイパスされる可能性があります。バージョン1.4.0でこの問題が修正されました。
修正方法
公式パッチはありません。回避策を確認するか、アップデートを監視してください。