OpenSSL ProjectのOpenSSLにおける境界外読み取りに関する脆弱性
タイトル OpenSSL ProjectのOpenSSLにおける境界外読み取りに関する脆弱性
概要

問題の概要:CMSのパスワードベースの復号(RFC 3211 / PWRIキーアンラップ)処理において、攻撃者が提供したCMSデータを処理する際に、攻撃者が選択したストリームモードのKEK暗号がkek_unwrap_key()関数内でヒープの境界外読み取りを引き起こす可能性があります。影響の概要:ヒープバッファのオーバーリードによりクラッシュが発生し、入力バッファがメモリページ境界で終わり、かつその次のページがマップ解除されている場合に、アプリケーションのサービス拒否(DoS)につながる可能性があります。ただし、オーバーリードされたバイトは攻撃者に開示されないため、情報漏洩はありません。キーアンラップ関数は、RFCで指定されたチェックバイトテストを実行し、メッセージからのラップされたキーの長さに基づくヒープ割り当てから7バイトを読み取ります。ラップ暗号のブロック長に基づく最小長チェックがありますが、暗号は攻撃者のPWRI keyEncryptionAlgorithmに含まれるOIDから選択され、ブロック暗号である必要はありません。攻撃者がストリームモード暗号を選択するとガードは無効となり、アンラップされたキーを含む割り当てバッファがRFCで指定されたチェックバイトに収まらない可能性があり、バッファの境界外読み取りが発生します。CMS_decrypt()またはCMS_decrypt_set1_password()(openssl cms -decrypt -pwri_password ... と同等)を使用して信頼されていないCMSデータを処理するアプリケーションがこの問題の影響を受けます。パスワードの知識は不要で、認証が成功する前のアンラップ試行中にオーバーリードが発生します。オーバーリードは数バイトに限定され、出力に書き込まれないため情報漏洩はありません。クラッシュを引き起こすには割り当てがマップ解除されたメモリに隣接している必要があり、通常のアロケータでは起こりにくいです。FIPSモジュールはこの問題の影響を受けません。

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

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

公表日 2026年6月9日0:00
登録日 2026年6月17日15:38
最終更新日 2026年6月17日15:38
CVSS3.0 : 重要
スコア 7.5
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
OpenSSL Project
OpenSSL 1.0.2 以上 1.0.2zq 未満
OpenSSL 1.1.1 以上 1.1.1zh 未満
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 (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年06月17日]
  掲載
2026年6月17日15:38

NVD脆弱性情報
CVE-2026-9076
概要

Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap)
processes attacker-supplied CMS data, an attacker-chosen stream-mode KEK
cipher can trigger a heap out-of-bounds read in kek_unwrap_key().

Impact summary: A heap buffer over-read may trigger a crash which leads to
Denial of Service for an application if the input buffer ends at a memory
page boundary and the following page is unmapped. There is no information
disclosure as the over-read bytes are not revealed to the attacker.

The key unwrapping function performs a check-byte test as specified in the
RFC that reads 7 bytes from a heap allocation that is based on the wrapped
key length from the message. There is a minimum length check based on the
block length of the wrapping cipher. However the cipher is selected from
an OID carried in the attacker's PWRI keyEncryptionAlgorithm with no
requirement that the cipher be a block cipher. When an attacker selects
a stream-mode cipher the guard will be ineffective and the allocated buffer
containing the unwrapped key can be too small to fit the check-bytes
specified in the RFC and a buffer over-read can happen.

Applications calling CMS_decrypt() or CMS_decrypt_set1_password()
(equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS
data are vulnerable to this issue. No password knowledge is required: the
over-read happens during the unwrap attempt before any authentication
succeeds.

The over-read is limited to a few bytes and is not written to output, so
there is no information disclosure. Triggering a crash requires the
allocation to border unmapped memory, which is unlikely with the normal
allocator.

The FIPS modules are not affected by this issue.

公表日 2026年6月10日2:17
登録日 2026年6月10日4:20
最終更新日 2026年6月16日11:45
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 1.0.2 1.0.2zq
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 1.1.1 1.1.1zh
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:-:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧