つみかさね

CVE-2026-33895

High(7.5)

CVE-2026-33895 — node-forge Ed25519 非正規署名受け入れ

公開日: 2026-03-29データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
node-forge (forge)Digital Bazaarv1.4.0 より前
CVEnode-forgeEd25519署名検証RFC 8032npm

概要

node-forge(npm パッケージ名: forge)は JavaScript で 実装 された 暗号・PKI ツールキット であり、Ed25519 楕円曲線 デジタル署名 アルゴリズム の 実装 を 含んで います。この ライブラリ の バージョン 1.4.0 より 前 に おいて、Ed25519 署名 検証 の 実装 に 脆弱性 が 存在 し、非正規(non-canonical)な 署名 を 有効 な もの として 受け入れて しまいます。

この 脆弱性 は CWE-347(Improper Verification of Cryptographic Signature、暗号署名 の 不適切 な 検証)に 分類 されます。

Ed25519 署名 アルゴリズム は RFC 8032 で 標準化 されて おり、その セクション 8.4 に おいて、署名 検証 時 に S 値 が 群 の 位数 L 未満 で ある こと を 確認 する 必要 が ある と 明記 されて います。この チェック は 署名 の 一意性(canonical form)を 保証 する ため に 不可欠 です。

node-forge の Ed25519 実装 で は、この S 値 の 正規性 チェック が 欠落 して いた ため、S + L や S + 2L など の 非正規 な 値 を 持つ 署名 も 検証 に 成功 して しまいます。

非正規 署名 の 受け入れ は 一見 無害 に 見える かもしれません が、以下 の ような 深刻 な セキュリティ 上 の 問題 を 引き起こす 可能性 が あります。

第一 に、署名 の 可鍛性(malleability)の 問題 が あります。同じ メッセージ に 対して 複数 の 有効 な 署名 が 存在 する こと に なり、署名 の 一意性 に 依存 する アプリケーション ロジック が 破綻 します。例えば、ブロックチェーン や 分散台帳 システム で トランザクション の 一意性 を 署名 で 担保 して いる 場合、二重支払い など の 攻撃 が 成立 する 可能性 が あります。

第二 に、相互運用性 の 問題 が あります。RFC 8032 に 準拠 した 他 の Ed25519 実装 と 検証 結果 が 異なる ため、システム 間 で 署名 の 有効性 に ついて 不整合 が 発生 します。

第三 に、認証 バイパス の リスク が あります。署名 を 改変 して も 検証 が 通る ため、特定 の 条件 下 で 認証 メカニズム を 迂回 できる 可能性 が あります。

Ed25519 は 高速性 と セキュリティ の 両立 から 近年 広く 採用 されて おり、SSH 鍵認証、TLS 1.3、FIDO2/WebAuthn、暗号通貨 など の 重要 な プロトコル で 使用 されて います。node-forge を 通じて Ed25519 署名 検証 を 行って いる アプリケーション は、速やか に v1.4.0 以降 へ アップデート する こと が 推奨 されます。

CVSSベクトル

項目
CVSSスコア7.5
深刻度High
攻撃元ネットワーク
攻撃条件の複雑さ
必要な権限不要
ユーザー操作不要
CWECWE-347 (暗号署名の不適切な検証)

影響を受けるソフトウェア

製品ベンダー影響バージョン
node-forge (forge)Digital Bazaarv1.4.0 より前 の 全バージョン

修正バージョンと回避策

  • 修正バージョン: node-forge v1.4.0 以降 へ アップデート する こと で、RFC 8032 セクション 8.4 に 準拠 した S 値 の 正規性 チェック が 追加 されます
  • 暫定回避策: Ed25519 署名 検証 を 行う 箇所 で、署名 の S コンポーネント が 群 の 位数 L 未満 で ある こと を 独自 に チェック する ロジック を 追加 する
  • 依存関係 の 確認: npm ls forge または npm audit で プロジェクト 内 の node-forge バージョン を 確認 し、間接 依存 も 含めて 更新 する

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。