OpenSSLに重大な脆弱性、ヒープメモリが平文で漏えいする恐れ

OpenSSLは、Datagram Transport Layer Security(DTLS)の実装に深刻度「高」の脆弱性が見つかったと発表しました。リモートのピアがハンドシェイクデータの送信中に、本来読み取れないはずの平文のヒープメモリを読み取ったり、サービス拒否(DoS)状態を引き起こしたりする可能性があります。

この脆弱性は「CVE-2026-84782」として追跡されています。原因は、DTLSハンドシェイクメッセージの再送を処理する際に発生する境界外読み取りです。

脆弱性診断サービス

2026年9月29日に公開されたOpenSSLのセキュリティアドバイザリによると、影響を受けるのは4.0、3.6、3.5、3.4、3.0、1.1.1、1.0.2を含む複数のバージョンです。

OpenSSLの重大な脆弱性

DTLSはデータグラムベースのトランスポート向けに設計されたプロトコルです。通信中に失われたハンドシェイクパケットを回復するため、再送の仕組みを備えています。

問題が発生するのは、アプリケーションがDTLSハンドシェイクメッセージを複数のフラグメントに分けて送信し、その最中にトランスポート側が一時的にデータを受け付けられなくなった場合です。

この場合、OpenSSLはWANT_WRITEステータスを返すことがあり、ハンドシェイクメッセージの書き込みは送信の途中で中断されます。

書き込みが中断している間にDTLSの再送タイマーが期限切れとなり、再送キューにある以前のハンドシェイクメッセージを再送しようとすることがあります。

OpenSSLの再送ロジックは、中断中のハンドシェイク書き込みに関連する内部バッファと追跡状態を、誤って再利用してしまいます。

本来であれば、キューに入っているメッセージの先頭から読み取り位置をやり直すべきです。ところが再送は、進行中の書き込みが到達していたオフセットから始まる可能性があります。

その結果、ピアが受け取るDTLSハンドシェイクメッセージは、形式が壊れていたり、誤ったラベルが付いていたりする場合があります。中身には、送信途中だった無関係の大きなメッセージの残りのバイトが含まれます。場合によっては本来のメッセージバッファを超えて読み取りが行われ、ヒープ上のデータが平文で露出する恐れがあります。

この脆弱性はCWE-125(境界外読み取り)に分類されます。最大の懸念は、リモートのDTLSピアに対してヒープメモリが意図せず開示されることです。

漏えいするデータは、プロセスのメモリ内容や実行時の状況によって異なります。以前に割り当てられたアプリケーションやライブラリのデータの断片が含まれる可能性もあります。ただし、アドバイザリでは、任意のメモリを確実に開示できる能力は確認されていません。

さらにこの欠陥は、再送ロジックがマップされていないメモリ領域を読み取ろうとした際に、プロセスをクラッシュさせる恐れもあります。攻撃者が制御するDTLSトラフィックを処理するアプリケーションでは、サービス拒否につながる可能性があります。

同じ再送経路には関連する別の欠陥もあります。中断したハンドシェイク書き込みを再開するために必要な管理情報が破損する可能性があるのです。別の書き込みが一時停止している間に再送が発生すると、その後のSSL_read()、SSL_write()、SSL_accept()、SSL_connect()の呼び出しで不整合な状態に陥る恐れがあります。デバッグビルドでは、これが原因で異常終了(abort)します。

影響を受けるバージョンと修正

OpenSSLはこの問題に対処し、メッセージを再送する前に再送の読み取り位置をリセットするようにしました。あわせて、ハンドシェイクの書き込みが中断している間は再送をスキップし、アプリケーションが保留中の操作を再開するまで延期する対応も取っています。

影響を受けるブランチ 修正版
OpenSSL 4.0 4.0.3
OpenSSL 3.6 3.6.5
OpenSSL 3.5 3.5.9
OpenSSL 3.4 3.4.8
OpenSSL 3.0 Premium Support 3.0.23
OpenSSL 1.1.1 Premium Support 1.1.1zj
OpenSSL 1.0.2 Premium Support 1.0.2zs

組織は、DTLSを使用しているインターネット公開サービス、VPN、VoIPシステム、IoT機器、独自開発のアプリケーションを洗い出す必要があります。そのうえで、同梱されているOpenSSLや、システムが提供するOpenSSLのパッケージを速やかにアップグレードしてください。なお、脆弱なDTLSのコードはOpenSSL FIPSモジュールの境界外にあるため、FIPSモジュールはこの問題の影響を受けません。

この脆弱性は2026年8月17日にSecuRizonのLaurent Gaffie氏が報告し、Ryan Hooper氏が修正を開発しました。

脆弱性診断サービス

SOCのアラート調査を1件あたり21分短縮。即座にIOCのコンテキストを把握し、迅速な対応を実現します。 SOCにTI Lookupを導入する

翻訳元: https://gbhackers.com/openssl-high-severity-flaw/

本記事は gbhackers.com の記事を翻訳・要約したものです。