問題の概要: 'openssl dgst' コマンドラインツールは、ワンショット署名アルゴリズムを使用する際に入力データを16MBに静かに切り捨て、エラーを報告せずに成功したと判断します。影響の概要: Ed25519、Ed448、ML-DSAなどのワンショットアルゴリズムで16MBを超えるファイルを署名または検証するユーザーは、16MBを超える後続のデータが未認証のままであるにもかかわらず、ファイル全体が認証されたと誤って認識する可能性があります。 'openssl dgst' コマンドがワンショット署名のみをサポートするアルゴリズム(Ed25519、Ed448、ML-DSA-44、ML-DSA-65、ML-DSA-87)で使用される場合、入力は16MBの制限付きでバッファリングされます。入力がこの制限を超えると、ツールはエラーを通知せずに最初の16MBに静かに切り捨てて処理を続けます。これはドキュメントの記述と矛盾しており、署名および検証が同じ影響を受けるコードパスで行われた場合に後続のバイトが変更されても検出されない整合性のギャップを生じさせます。 この問題はコマンドラインツールの動作にのみ影響を及ぼします。ライブラリAPIを使用して完全なメッセージを処理する検証者は署名を拒否するため、リスクは主に影響を受ける 'openssl dgst' コマンドで署名および検証の両方を実行するワークフローに限定されます。'openssl dgst' のストリーミングダイジェストアルゴリズムおよびライブラリ利用者は影響を受けません。 FIPSモジュール(3.5および3.6)はこの問題の影響を受けません。なぜならコマンドラインツールはOpenSSL FIPSモジュールの境界外にあるためです。 OpenSSL 3.5および3.6はこの問題の影響を受けますが、OpenSSL 3.4、3.3、3.0、1.1.1および1.0.2は影響を受けません。
|