OpenVPN 2.7.8は2026年10月6〜7日頃にタグ付けされ、CVE-2026-88964を修正する。これはWindowsおよびAndroid上のドメイン検索処理における符号なしアンダーフローであり、悪意のある認証済みサーバーが細工した PUSH_REPLY オプションによって引き起こされる。本手順では、クライアントビルドの確認、安全なアップグレード、およびお使いのパッケージに同梱されていないCLIフラグを作り出さずにパッチを確認する方法を案内する。

SSL VPN topology diagram for client-to-server remote access
出典: Wikimedia Commons — SSL VPNトポロジー

このアップグレードが重要な理由

次の資料によると CVE-2026-88964に関するOpenVPNコミュニティWikiのアドバイザリ、2.7_alpha3から2.7.7までのバージョンがWindowsおよびAndroidで影響を受ける。リモートの認証済みサーバーは、悪意のあるドメイン検索オプションを通じてサービス拒否やメモリ開示を引き起こす可能性がある。修正は2.7.8に含まれる。独立した報道は Linux Compatible(2026年10月7日) 88964を、CVE-2026-84790(証明書サブジェクト内のNULLバイト)、CVE-2026-84256(Windows cmd.exeのクォート処理)に対する継続的な強化、およびCVE IDのないtls-crypt-v2の堅牢性変更と並べて取り上げている。

安全上の注意:テスト中は信頼できるVPNサーバーにのみ接続すること。アドバイザリにおける「悪意のある認証済みサーバー」とは、すでに認証を通過した対向を指す。したがって、不明な.ovpnプロファイルや出所不明の信頼できないVPNアプリは本ガイドの対象外とする。本番サーバーに対してアンダーフローの再現を試みてはならない。

ステップ1 — 実際に実行しているものを特定する

  1. Windowsでは、OpenVPN GUIまたはOpenVPN Connectを開き、確認する 概要 / バージョン。コミュニティビルドでは、次のような文字列が表示されることがよくあります OpenVPN 2.7.x.
  2. Androidでは、OpenVPN Connectまたは使用中のOpenVPN for Androidビルドのシステムアプリ情報を開き、Play StoreまたはF-Droidに表示されているバージョンコードを控えてください。
  3. サードパーティのVPNブランドのアプリを使っている場合、コミュニティ版OpenVPNを使っていない可能性があります。そうしたアプリは独自のスタックを組み込んでいます。本ガイドの対象はコミュニティ版OpenVPN / OpenVPN Connect系のクライアントであり、独自ラッパーではありません。

何かを変更する前に、正確なバージョン文字列を記録してください。CVE修正済みブランチですでに2.7.8以降を使用している場合は、再インストールせず検証に進んで構いません。企業管理下のデバイスでは、ローカルインストールではなくITチケットが必要になる場合があります。

ステップ2 — 出所不明のミラーよりベンダー公式パッケージを優先する

Asymmetric key diagram illustrating client and server key roles
出典: Wikimedia Commons — Lbutrico非対称鍵

OpenVPNの入手にすでに使用しているチャネルからのみダウンロードしてください:

  • 次から参照される公式OpenVPNコミュニティのリリースノート / インストーラチャネル community.openvpn.net の2.7.8向けReleaseHistory.
  • それらのストアからすでにインストールしたAndroidクライアント向けの、Google PlayまたはF-Droidの更新。
  • チェックサムを固定する企業向けソフトウェアカタログを使用してください。フォーラムのスレッドから署名のないバイナリを貼り付けないでください。

ディストリビューションがチェックサムまたは署名メタデータを提供している場合は、それらを検証してください。OpenVPN を名乗った非公式の改変 APK や署名のないサイドロードは拒否してください。それらは安全ではなく、本サイトの手順案内の対象外です。

ステップ 3 — Windows クライアントのアップグレード

  1. ファイルがロックされないよう、OpenVPN GUI を完全に終了してください(トレイアイコン → Exit)。
  2. 組織が先にクリーンアンインストールを求めない限り、信頼できる配布経路から 2.7.8(またはそれ以降のパッチ済み)Windows ビルドを既存インストールの上にインストールしてください。
  3. インストーラーが要求した場合は再起動してください。特に TAP/Wintun ドライバーが更新される場合は必須です。
  4. GUI を再度開き、既存のプロファイルを読み込み、バージョン情報ダイアログに 2.7.8+ と表示されることを確認してください。
  5. 動作確認済みのサーバーに一度接続し、クライアントがクラッシュせず、ログに通常の PUSH_REPLY が記録されることを確認してください。

フリートが OpenVPN DCO または Access Server の管理エージェントを使用している場合は、一斉展開の前に、それらのコンポーネントが 2.7.8 の DCO およびインスタンス再起動の修正と互換性があることを確認してください。Linux Compatible では、2.7.8 の複数の変更がマルチクライアントとカーネルオフロード経路を対象としていると記されています。広範な展開の前に、まずパイロットリングを 1 つ先行導入してください。

ステップ 4 — Android クライアントのアップグレード

  1. 可能な限りサイドロードではなく、Play Store / F-Droid 経由で更新してください。
  2. 更新後、Wi-Fi 上でアプリを一度開き、VPN サービスバインド用に既に存在していた権限プロンプトを許可し、コミュニティベースのビルドでは表示バージョンが 2.7.7 を超えたことを確認してください。
  3. プロファイルをインポートまたは再選択し、接続して、簡単なHTTPSサイトを閲覧し、トンネルが確立されていることを確認してください。
  4. アプリにログ表示がある場合は、サーバーがDNS検索ドメインをプッシュしたときにクラッシュループが発生しないことを確認してください。これはCVE-2026-88964が対処する種類の不具合です。

ステップ5 — 検証し、必要に応じてロールバックする

  • 企業プロファイルが壊れた場合にロールバックできるよう、以前のインストーラーまたはAPKを管理されたアーカイブに保管してください。
  • 証明書を多用する環境では、CVE-2026-84790によりOpenSSLビルドがsubjectに埋め込まれたNULLバイトを含む証明書を拒否することを念頭に置き、企業展開前に該当する証明書をテストしてください。
  • Windows管理者は、OpenVPN周辺のヘルパーツールをスクリプト化する際、CVE-2026-84256に基づくCreateProcessの引用符処理の継続的な強化にも留意してください。

チェックリスト

  1. プラットフォームがWindows、または2.7_alpha3–2.7.7の範囲にあるAndroidコミュニティ版OpenVPNであることを確認してください。
  2. 信頼できるチャネルからのみ2.7.8+へアップグレードしてください。
  3. 信頼できるサーバーに対して、PUSH_REPLY / DNS検索ドメインのプロファイルを再テストしてください。
  4. 監査用にバージョン文字列を記録してください。
  5. このクライアントパッチを、無関係な非公式改造APKに関する助言と区別してください。それらは対象外であり、安全ではありません。

2.7.8の適用が確認できた後は、単一のCVEでエンドポイント上のOpenVPNリスクがすべて解消されると想定せず、tls-crypt-v2の鍵衛生管理と証明書インベントリスキャンを次の運用パスとして扱うこと。