
人気のJavaScript暗号ライブラリである「node-forge」パッケージに存在する脆弱性は、一見有効に見えるデータを細工することで、署名検証をバイパスするために悪用される可能性があります。
この欠陥はCVE-2025-12816として追跡されており、高い重大度評価を受けています。これは、ライブラリのASN.1検証メカニズムに起因しており、暗号学的には無効であっても、不正な形式のデータがチェックを通過してしまうことを許してしまいます。
「node-forgeバージョン1.3.1およびそれ以前に存在する解釈の不一致に関する脆弱性により、認証されていない攻撃者がASN.1構造を細工してスキーマ検証を非同期化し、その結果として意味的な乖離が生じ、下流の暗号検証やセキュリティ上の判断をバイパスする可能性があります」と、この欠陥についての説明には、米国国家脆弱性データベース(NVD)で記載されています。
Palo Alto NetworksのHunter Wodzenski氏がこの欠陥を発見し、責任ある形でnode-forgeの開発者に報告しました。
研究者は、ASN.1由来の暗号プロトコルの構造と完全性を強制するためにnode-forgeに依存しているアプリケーションは、不正な形式のデータを有効なものとして検証してしまうよう騙される可能性があると警告し、偽造されたペイロードがどのように検証メカニズムを欺けるかを示す概念実証(PoC)を提供しました。
カーネギーメロン大学のCERT-CCによるセキュリティアドバイザリでは、影響はアプリケーションごとに異なり、認証バイパス、署名済みデータの改ざん、証明書関連機能の不正利用などが含まれる可能性があると説明しています。
「暗号検証が信頼に関する判断の中心的な役割を果たす環境においては、その潜在的な影響は重大になり得ます」と、CERT-CCは警告しています。
Node Package Manager(NPM)レジストリで週あたり約2,600万回のダウンロードがあるほどnode-forgeは非常に広く利用されていることを踏まえると、その影響は大きい可能性があります。
このライブラリは、JavaScript環境で暗号機能や公開鍵基盤(PKI)機能を必要とするプロジェクトで利用されています。
本日早朝に、バージョン1.3.2で修正がリリースされました。node-forgeを使用している開発者には、できるだけ早く最新バージョンへ移行することが推奨されています。
広く利用されているオープンソースプロジェクトの脆弱性は、公開とパッチ提供後も長期間残存する可能性があります。これは、環境の複雑さや、新しいコードをテストする必要性など、さまざまな理由によって発生し得ます。