OWN NEWS GATHER
← 戻る
The Hacker News

OpenSSLのDTLS実装に高深刻度の脆弱性、暗号化されないヒープメモリ漏洩やクラッシュの恐れ

要点

  • OpenSSLプロジェクトは、DTLS通信において暗号化されていないメモリの漏洩やクラッシュを引き起こす高深刻度の脆弱性「CVE-2026-84782」を修正した。

  • 大きなメッセージの送信が中断している最中に再送タイマーが作動すると、バッファの参照位置がずれ、残存メモリが平文で送信される不具合に起因する。

  • 修正版としてOpenSSL 4.0.3、3.6.5、3.5.9、3.4.8が一般公開された一方、サポート終了済みの3.0系列などは有償契約者限定の提供となる。

  • 現時点で本脆弱性を悪用した攻撃は確認されておらず、OpenSSL側からの回避策は提示されていない。

  • OpenSSLプロジェクトは2026年9月29日、暗号化通信プロトコル「DTLS」の実装に高深刻度の脆弱性が存在することを公表し、修正バージョンをリリースした。該当の不具合が悪用された場合、通信相手に対して暗号化されていないヒープメモリのデータが送信されたり、プログラムが異常終了(クラッシュ)したりする恐れがある。

  • 本脆弱性は「CVE-2026-84782」として追跡されており、OpenSSLの独自基準において4段階中上から2番目に高い「High」と評価されている。

不具合の仕組みと発生要因

今回の脆弱性は、UDP通信上で暗号化を行うプロトコルであるDTLS(Datagram Transport Layer Security)のハンドシェイク再送処理に起因している。DTLSでは、一定時間内に応答が得られない場合にメッセージを再送するタイマー機構を備えている。

大きなサイズのハンドシェイクメッセージを送信する際、DTLSはUDPデータグラムに収まるようデータを複数の断片に分割して送信する。通信経路が一時的にデータを受け付けられない状態になると送信処理が途中で保留され、後から再開される仕組みになっているが、この保留中に再送タイマーが発火することがある。

修正前の実装では、過去のメッセージを再送する際にメッセージ先頭へ巻き戻らず、保留中だったメッセージのバッファ内位置をそのまま参照して送信を行っていた。その結果、再送メッセージには誤ったラベルが付与され、本文には保留中だった大きなメッセージの残存バイト列が含まれることになり、読み取り時にバッファオーバーランが発生する状態となっていた。

OpenSSLの説明によると、この誤ったラベルを持つメッセージを介して、ヒープメモリ(プログラム実行時に動的に確保される作業用メモリ領域)の内容が暗号化されない平文データのまま対向側に送信される可能性があるという。また、読み取り処理が未割り当てのメモリ領域に達した場合には、プログラムがクラッシュする。

本不具合はクライアント側とサーバー側の双方で発生し得ることが確認されており、WebRTCのデータチャネル保護やインターネット通話の暗号鍵確立など、OpenSSLをDTLS用途で組み込んでいるソフトウェア全般が対象となる。

発見の経緯とリスク評価

本脆弱性は、SecorizonのLaurent Gaffie氏によって2026年8月17日に報告され、Ryan Hooper氏が修正パッチを開発した。

米国土安全保障省サイバーセキュリティ・インフラセキュリティ庁(CISA)は2026年9月29日、本脆弱性に対して共通脆弱性評価システムCVSSのスコアを8.2(最大10)と算定した。CISAの評価では、機密性への影響を「Low(低)」、可用性への影響を「High(高)」と位置づけており、開示時点での悪用状況は「なし」と記録されている。なお、OpenSSLはCVSSを用いずに独自の深刻度基準を採用しており、外部機関のスコアとは乖離が生じる場合があると注記している。

また、攻撃者が意図的にメッセージ送信の一時停止と再送のタイミングを誘発できるかについてOpenSSLは言及しておらず、現時点で本脆弱性を悪用した攻撃事例も報告されていない。Ubuntuが公開したセキュリティ通知(USN-8847-1)では、攻撃者によって「不正なハンドシェイク動作またはサービス妨害(DoS)」が引き起こされる可能性があると言及されている。

各バージョンの対応とサポート状況

本脆弱性は、OpenSSL 4.0、3.6、3.5、3.4、3.0、1.1.1、1.0.2の各ブランチにおいて、修正版より前のすべてのリリースに影響する。OpenSSLは本不具合に対する回避策を提示しておらず、修正版への更新を呼びかけている。

一般向けに公開された修正バージョンおよびサポート期限は以下の通りである。

  • OpenSSL 4.0.3: 4.0系列の修正版(サポート期限: 2027年5月14日)
  • OpenSSL 3.6.5: 3.6系列の修正版(サポート期限: 2026年11月1日)
  • OpenSSL 3.5.9: 長期サポート(LTS)版である3.5系列の修正版(サポート期限: 2030年4月8日)
  • OpenSSL 3.4.8: 3.4系列の修正版(サポート期限: 2026年10月22日)

一方、すでに一般サポートが終了している古いブランチ(3.0、1.1.1、1.0.2)向けの修正版は、OpenSSLの有償プレミアムサポート契約者限定での提供となっている。各ブランチの修正版は3.0.23、1.1.1zj、1.0.2zsとなる。なお、3.1、3.2、3.3の各系列については一般サポートが終了しており、今回の影響調査自体が行われていない。

ディストリビューションの対応とOpenSSL 3.0環境への影響

OpenSSL 3.0系列は2026年9月7日に一般向けセキュリティ修正の提供(EOL)を終了しており、8月25日に公開されたバージョン3.0.22が最後の一般公開版であった。今回の3.0.23は、一般公開されない初のセキュリティリリースとなり、9月29日に開示された全14件の脆弱性のうち、CVE-2026-84782を含む6件の修正が含まれている。そのため、OpenSSL 3.0を独自にビルドして使用している場合や自社ソフトウェアに内包しているユーザーには、公式の無償修正版が提供されない。

主要なLinuxディストリビューションでは、独自にバックポートパッチを適用したパッケージの配布が行われている。

Ubuntuは2026年9月29日に各LTSバージョン向けに修正パッケージを提供した。

  • Ubuntu 26.04 LTS: libssl3t64(バージョン 3.5.5-1ubuntu3.6)
  • Ubuntu 24.04 LTS: libssl3t64(バージョン 3.0.13-0ubuntu3.16)
  • Ubuntu 22.04 LTS: libssl3(バージョン 3.0.2-0ubuntu1.30)

なお、Ubuntu環境で修正を完全に反映させるには、パッケージ更新後にシステムの再起動が必要とされる。

Debianにおいては、Debian 13向けにパッケージ「openssl」の修正版(3.5.7-1~deb13u3)がセキュリティ勧告「DSA-6531-1」としてリリースされた。Debian 12については、9月30日07:36 UTC時点のセキュリティトラッカーにおいて依然として脆弱な状態として掲載されている。

元URL