製品・ソフトウェアに関する情報
OpenSSL ProjectのOpenSSLにおける暗号化処理の不備に関する脆弱性
Title OpenSSL ProjectのOpenSSLにおける暗号化処理の不備に関する脆弱性
Summary

問題の概要:AES-SIV(RFC 5297)およびAES-GCM-SIV(RFC 8452)の実装において、空の暗号文に対するAAD(追加認証データ)の認証処理が誤っており、その結果、このようなメッセージを偽造可能になっています。影響の概要:攻撃者はこれらの暗号方式を用いる被害者のアプリケーションに対して、任意のAADを持つ空のメッセージを偽造できます。AES-SIV(RFC 5297)およびAES-GCM-SIV(RFC 8452)はノンス誤用耐性を持つAEADモードであり、鍵、ノンス、任意のAAD(認証されるが暗号化されないバイト列)、および平文を受け取り、暗号文と16バイトのタグを生成します。復号時にはタグが正しく検証された場合にのみ`EVP_DecryptFinal_ex()`が成功を返すと文書化されています。OpenSSLのこれらの暗号のプロバイダー実装では、期待されるタグは非空のデータで復号関数が呼ばれた場合にのみ計算されます。もし呼び出し側がAADを供給し、その後、暗号文の更新を呼ばずに`EVP_DecryptFinal_ex()`を呼び出した場合(受信した暗号文長がゼロの時に発生しうる)、タグは再計算されずゼロで初期化されたままになります。AES-GCM-SIVを使用する場合、攻撃者は任意のAAD、空の暗号文、および全ゼロタグを送信することで、知らない鍵の下でも単発で認証を通過させることが可能です。AES-SIVの場合、攻撃を行うためにはアプリケーションが鍵のリセットを行わずに復号コンテキストを再利用する必要があります。AES-SIVはOpenSSL 3.0から、AES-GCM-SIVはOpenSSL 3.2から実装されています。OpenSSL自体で実装されているプロトコル(TLS/CMS/PKCS7/HPKE/QUIC)はAES-GCM-SIVやAES-SIVをサポートしていません。攻撃を成立させるためにはアプリケーション側が独自のプロトコルを実装しEVPインターフェースを利用している必要があり、また空の暗号文のメッセージが来た際に暗号文の更新処理をスキップしなければなりません。OpenSSL FIPSモジュール(バージョン4.0、3.6、3.5、3.4、3.0)はこの問題の影響を受けません。これらのアルゴリズムはFIPSで承認されておらず、影響を受けるコードはFIPSモジュールの境界外に存在するためです。

Possible impacts ・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 
Solution

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

Publication Date June 9, 2026, midnight
Registration Date June 17, 2026, 3:45 p.m.
Last Update June 17, 2026, 3:45 p.m.
CVSS3.0 : 警告
Score 4.8
Vector CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Affected System
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
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2026年06月17日]
  掲載
June 17, 2026, 3:45 p.m.

NVD Vulnerability Information
CVE-2026-45446
Summary

Issue summary: The implementations of AES-SIV (RFC 5297) and AES-GCM-SIV
(RFC 8452) mishandle the authentication of AAD (Additional Authenticated
Data) with an empty ciphertext allowing a forgery of such messages.

Impact summary: An attacker can forge empty messages with arbitrary AAD
to the victim's application using these ciphers.

AES-SIV (RFC 5297) and AES-GCM-SIV (RFC 8452) are nonce-misuse-resistant AEAD
modes: they accept a key, nonce, optional AAD (bytes that are authenticated
but not encrypted), and plaintext, and produces ciphertext plus a 16-byte
tag. On decrypt, `EVP_DecryptFinal_ex()` is documented to return success only
if the tag is verified succesfully.

In OpenSSL's provider implementation of these ciphers, the expected tag is
computed only when decryption function is invoked with non-empty data.
If the caller supplies AAD and then calls `EVP_DecryptFinal_ex()` without
invocation of the ciphertext update, which can happen when the received
ciphertext length is zero, the tag is never recalculated and still holds its
all-zeros value.

When AES-GCM-SIV is used, an attacker who sends arbitrary AAD, empty
ciphertext, and all-zeros tag passes authentication under any key they do not
know, single-shot. When AES-SIV is used, for mounting the attack it's
necessary for the application to reuse the decryption context without
resetting the key.

AES-SIV is implemented since OpenSSL 3.0. AES-GCM-SIV is implemented since
OpenSSL 3.2.

No protocols implemented in OpenSSL itself (TLS/CMS/PKCS7/HPKE/QUIC) support
either AES-GCM-SIV or AES-SIV. To mount an attack, the applications must
implement their own protocol and use the EVP interface. Also they must skip the
ciphertext update when a message with an empty ciphertext arrives.

The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this
issue, as these algorithms are not FIPS approved and the affected code is
outside the OpenSSL FIPS module boundary.

Publication Date June 10, 2026, 2:17 a.m.
Registration Date June 10, 2026, 4:18 a.m.
Last Update June 16, 2026, 11:57 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 3.0.0 3.0.21
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 3.4.0 3.4.6
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 3.5.0 3.5.7
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 3.6.0 3.6.3
cpe:2.3:a:openssl:openssl:4.0.0:-:*:*:*:*:*:*
Related information, measures and tools
Common Vulnerabilities List