著名なJavaScript暗号ライブラリ「node-forge」に署名検証バイパスの脆弱性、修正版を公開

はじめに

人気のJavaScript暗号ライブラリである「node-forge」パッケージに、重要な署名検証バイパスの脆弱性が発見されました。この脆弱性(CVE-2025-12816)は、攻撃者が有効に見える細工されたデータを作成することで、署名検証を回避できる可能性があり、高深刻度に分類されています。既に修正版がリリースされており、迅速なアップデートが推奨されています。

脆弱性の詳細

この脆弱性は、node-forgeのASN.1検証メカニズムに起因しています。バージョン1.3.1以前のnode-forgeでは、解釈の衝突を利用して、不正な形式のデータが有効であるかのようにチェックを通過してしまいます。NVD(National Vulnerabilities Database)の説明によると、「node-forgeバージョン1.3.1以前における解釈衝突の脆弱性により、認証されていない攻撃者は、ASN.1構造を細工してスキーマ検証を非同期化させ、意味的な不一致を生じさせることで、下流の暗号検証やセキュリティ判断をバイパスする可能性がある」とされています。

この脆弱性は、Palo Alto NetworksのHunter Wodzenski氏によって発見され、node-forgeの開発者に責任を持って報告されました。同氏は、node-forgeに依存してASN.1由来の暗号プロトコルの構造と完全性を強制するアプリケーションが、細工されたデータの検証を誤認させられる可能性があると警告し、偽造されたペイロードが検証メカニズムを欺く概念実証も提供しました。

影響範囲と重要性

Carnegie Mellon CERT-CCからのセキュリティアドバイザリでは、アプリケーションによって影響が異なると説明されており、認証バイパス、署名済みデータの改ざん、証明書関連機能の誤用などが含まれる可能性があります。CERT-CCは、「暗号検証が信頼決定において中心的な役割を果たす環境では、潜在的な影響は甚大になる可能性がある」と警告しています。

node-forgeは、Node Package Manager (NPM) レジストリで毎週約2,600万回ダウンロードされるほど非常に広く利用されているため、この脆弱性の影響は極めて大きい可能性があります。このライブラリは、JavaScript環境で暗号化および公開鍵インフラストラクチャ(PKI)機能が必要なプロジェクトで利用されています。

対策

この脆弱性に対する修正は、本日リリースされたバージョン1.3.2で提供されています。node-forgeを使用している開発者は、可能な限り速やかに最新バージョンに更新することが強く推奨されます。

背景

広く利用されているオープンソースプロジェクトにおける脆弱性は、公開されパッチが利用可能になった後も長期間にわたって存続する可能性があります。これは、環境の複雑さや新しいコードをテストする必要性など、さまざまな理由によって引き起こされることがあります。


元記事: https://www.bleepingcomputer.com/news/security/popular-forge-library-gets-fix-for-signature-verification-bypass-flaw/