最近、サイバーセキュリティ企業 Codean Labs の研究者は、オープンソースの暗号化ライブラリ OpenPGP.js にある高リスクのセキュリティ脆弱性を明らかにしました。このセキュリティの脆弱性により、署名および暗号化されたメッセージの恣意的な偽造が可能になり、このテクノロジに依存する電子メールの公開キー暗号化が完全に破壊されます。

OpenPGP.js は、JavaScript で書かれたオープンソースの暗号化ライブラリであり、Web アプリケーションや Node.js 環境に OpenPGP 標準に基づく暗号化および復号化機能を提供すること、つまり、クライアントまたはサーバー側で安全な暗号化メール通信を実現し、ファイル暗号化やデジタル署名などをサポートするように設計されています。
現在、暗号化メールプロバイダーの Proton Mail は主にこの暗号化ライブラリに依存しています。実際、このオープンソース ライブラリは主に Proton Mail によって保守されているため、実際に最も影響を受けるユーザーも Proton Mail です。割り当てられた脆弱性番号は CVE-2025-47934 で、脆弱性スコアは 8.7/10 です。セキュリティ上の懸念から、研究者らは脆弱性の詳しい説明や概念実証については明らかにしていないが、これらの概念実証コードは脆弱性の修正後に順次公開される予定だ。
簡単な説明から、根本的な問題は OpenPGP.js の信頼署名プロセスの欠陥であることがわかります。メッセージを偽造するには、攻撃者は有効なメッセージ署名と正当に署名されたプレーン テキスト データを必要とします。その後、攻撃者は、攻撃者が選択した任意のデータを使用して、OpenPGP.js によって正当に署名されたかのように見える署名付き暗号化メッセージを偽造できます。
影響を受けるバージョンは、OpenPGP.js 5.0.1~5.11.2、6.0.0-alpha~6.1.0。 4.x シリーズのバージョンは影響を受けないため、OpenPGP.js を使用している開発者とユーザーは、安全性を確保するためにバージョン 5.11.3 および 6.1.1 にアップグレードする必要があります。