JVNVU#90911615
OpenSSLの関数SSL_select_next_protoにおけるバッファオーバーリードの脆弱性(OpenSSL Security Advisory [27th June 2024])
OpenSSL Projectより、OpenSSL Security Advisory [27th June 2024]("SSL_select_next_proto buffer overread (CVE-2024-5535)")が公開されました。
- OpenSSL 3.3
- OpenSSL 3.2
- OpenSSL 3.1
- OpenSSL 3.0
- OpenSSL 1.1.1
- OpenSSL 1.0.2
深刻度-低(Severity:Low)
OpenSSLの関数SSL_select_next_proto
には、バッファオーバーリード(buffer over-read)の脆弱性(CWE-126、CVE-2024-5535)が存在します。
SSL_select_next_proto
関数は、TLS通信においてサーバ側とクライアント側が共通して対応しているプロトコルを選択する際に使われるヘルパー関数です。この関数は、サーバ側が対応するプロトコルリストとクライアント側が対応するプロトコルリストを受けとり、これら2つのリストに共通して含まれているエントリのうちサーバ側プロトコルリストに最初に出現するものを指すポインタを返します。また、2つのリストの共通部分がない場合には、クライアント側プロトコルリストの先頭エントリを指すポインタを返します。
関数内部では2つのリストとも空ではないという前提で処理が行われているため、長さゼロのプロトコルリストを渡した場合、予期しない動作となる可能性があります。
呼び出し側アプリケーションの予期しない動作やクラッシュが起こる可能性があります。状況によっては、メモリ上の最大255バイトのデータが窃取される可能性があります。
アップデートする
2024年7月3日現在、開発者は本脆弱性の深刻度を低と評価しており、OpenSSL gitリポジトリにて修正は行われていますが、本脆弱性への対応のみを目的とした修正バージョンは提供されていません。次回のリリースで今回の修正を反映する予定とのことです。
CVE-2024-5535では脆弱性種別を CWE-200: Exposure of Sensitive Information to an Unauthoried Actor としていますが、CWE-200 は "Vulnerability Mapping: DISCOURAGED" とされているため、本JVNでは開発者のアドバイザリのタイトル "buffer overread" に沿って CWE-126: Buffer Over-read を記載しています。