【活用ガイド】

JVNDB-2026-020148

OpenSSL ProjectのOpenSSLにおける暗号化処理の不備に関する脆弱性

概要

問題の概要:アプリケーションがAES-OCBコンテキストを、公開されているEVP_Cipher()のワンショットインターフェース経由で操作する際、アプリケーションが提供した初期化ベクトル(IV)が何の通知もなく破棄されてしまいます。影響概要:同じキーで暗号化されたすべてのメッセージは、呼び出し元が提供するIVに関わらず同じ有効なノンスを使用するため、(キー、ノンス)の再利用が発生し、機密性が失われます。同じコードパスが認証タグの計算に使用された場合、タグは平文や暗号文に依存せず、(キー、IV)ペアのみに依存するため、一つの捕捉されたメッセージから任意の暗号文の普遍的な偽造が可能になります。OpenSSLは暗号操作を行う方法として、文書化されたストリーミングインターフェース(EVP_CipherUpdate / EVP_CipherFinal_ex)と、より低レベルのワンショットEVP_Cipher()を提供しています。後者はアプリケーションでの利用を推奨しておらず、前者の使用を推奨しています。OCBプロバイダーのストリーミングハンドラは、処理前にアプリケーション提供のIVをOCBコンテキストに反映しますが、ワンショットハンドラはこれを行いません。そのため、AES-OCBコンテキストでEVP_Cipher()を呼び出すたびに、呼び出し元のIVに関係なく初期化時に設定された全ゼロのキー導出オフセット状態で動作します。もしEVP_EncryptFinal_ex()を使って認証タグを取得すると、遅延されたIV設定がそこで行われ、平文に対して蓄積されるべき実行中チェックサムがクリアされてしまいます。結果として生成されるタグは(キー、IV)の関数のみとなり、同じ(キー、IV)ペアで生成された任意の暗号文に対して検証が通ります。OpenSSLのSSL/TLS実装は影響を受けません。AES-OCBはTLS暗号スイートではなく、libsslもEVP_Cipher()を呼び出しません。文書化されたストリーミングAEAD API(EVP_CipherUpdate / EVP_CipherFinal_ex)を通じてAES-OCBを使用するアプリケーションも影響を受けません。対象はAES-OCB暗号とEVP_Cipher()のワンショットAPIを組み合わせて使用するアプリケーションのみです。FIPSモジュールのバージョン4.0、3.6、3.5、3.4、3.0にも影響はありません。AES-OCBはOpenSSL FIPSモジュールの境界外のため、これらには影響しません。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): なし
  • 可用性への影響(A): なし
影響を受けるシステム


OpenSSL Project
  • OpenSSL 3.0.0 以上 3.0.21 未満
  • OpenSSL 3.4.0 以上 3.4.6 未満
  • OpenSSL 3.5.0 以上 3.5.7 未満
  • OpenSSL 3.6.0 以上 3.6.3 未満
  • OpenSSL 4.0.0

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアは停止しません。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

OpenSSL Project
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 暗号化処理の不備(CWE-325) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-45445
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-45445
  2. 関連文書 : Apply the buffered IV on the AES-OCB EVP_Cipher() path  openssl/openssl@787a6df  GitHub
  3. 関連文書 : Apply the buffered IV on the AES-OCB EVP_Cipher() path  openssl/openssl@983d54b  GitHub
  4. 関連文書 : Apply the buffered IV on the AES-OCB EVP_Cipher() path  openssl/openssl@7ac4715  GitHub
  5. 関連文書 : Apply the buffered IV on the AES-OCB EVP_Cipher() path  openssl/openssl@843c9b9  GitHub
  6. 関連文書 : Apply the buffered IV on the AES-OCB EVP_Cipher() path  openssl/openssl@323f0b6  GitHub
更新履歴

  • [2026年06月17日]
      掲載