Apache HTTP Server の深刻な RCE 脆弱性が修正
Apache Software Foundation (ASF) は、Apache HTTP Server における深刻なリモートコード実行 (RCE) 脆弱性に対処するためのセキュリティアップデートをリリースしました。CVE-2026-23918 として追跡されているこの脆弱性は、HTTP/2 プロトコル処理におけるダブルフリーの問題に起因します。

### HTTP/2 におけるダブルフリー脆弱性
CVE-2026-23918 (CVSS スコア: 8.8) として特定されたこの脆弱性は、HTTP/2 プロトコル処理における「ダブルフリーおよび RCE の可能性」として説明されています。これは Apache HTTP Server 2.4.66 に影響を与え、バージョン 2.4.67 で修正されました。
この脆弱性の発見と報告には、Striga.ai の共同創設者である Bartlomiej Dmitruk 氏と、ISEC.pl の研究者である Stanislaw Strzalkowski 氏が功績を称えられています。
### 技術的詳細とエクスプロイト
Dmitruk 氏によると、CVE-2026-23918 の深刻度はクリティカルであり、サービス拒否 (DoS) と RCE の両方に悪用される可能性があります。彼は技術的な詳細について次のように述べています。
> CVE-2026-23918 は Apache httpd 2.4.66 の `mod_http2`、具体的には h2_mplx.c のストリームクリーンアップパスにおけるダブルフリーです。このバグは、クライアントが HTTP/2 HEADERS フレームを送信し、その直後に同じストリームに対してエラーコードがゼロでない RST_STREAM を、マルチプレクサがストリームを登録する前に送信した場合にトリガーされます。
>
> その後、2 つの nghttp2 コールバック、RST に対する on_frame_recv_cb とクローズに対する on_stream_close_cb が連続して呼び出され、両方とも h2_mplx_c1_client_rst -> m_stream_cleanup を呼び出し、同じ h2_stream ポインタをスパージクリーンアップ配列に 2 回プッシュします。c1_purge_streams が後にスパージを反復処理し、各エントリに対して h2_stream_destroy -> apr_pool_destroy を呼び出すと、2 回目の呼び出しは既に解放されたメモリにヒットします。
Dmitruk 氏は、DoS 攻撃は `mod_http2` とマルチスレッド MPM (Multi-Processing Module) を備えたデフォルトのデプロイメントでは容易であると説明しました。しかし、RCE には mmap アロケータを備えた Apache Portable Runtime (APR) が必要であり、これは Debian 派生システムや公式 httpd Docker イメージではデフォルトとなっています。
### RCE エクスプロイトパス
Dmitruk 氏は RCE エクスプロイトについてさらに詳しく説明しました。
> 1 つ目はサービス拒否であり、これは非常に簡単です。TCP 接続 1 つ、フレーム 2 つ、認証なし、特別なヘッダーなし、特定の URL なしで、ワーカーがクラッシュします。Apache はそれを再起動しますが、クラッシュしたワーカー上のすべてのリクエストはドロップされ、攻撃者が送信を続ける限り、このパターンは維持されます。
>
> 2 つ目の結果はリモートコード実行であり、x86_64 で動作するプルーフ・オブ・コンセプトを作成しました。このチェーンは、mmap の再利用を通じて解放された仮想アドレスに偽の h2_stream 構造体を配置し、そのプールクリーンアップ関数を `system()` にポイントさせ、Apache のスコアボードメモリを偽の構造体とコマンド文字列の安定したコンテナとして使用します。
>
> スコアボードは、ASLR があってもサーバーの存続期間中は固定アドレスに配置されるため、RCE パスが実用的になります。通常の注意点として、実用的なエクスプロイトには `system()` とスコアボードオフセットの情報漏洩が必要であり、ヒープスプレーは確率的ですが、ラボ条件下では数分で実行に着地します。
### 緩和策と推奨事項
Dmitruk 氏は、MPM prefork はこの脆弱性の影響を受けないと明確にしました。しかし、`mod_http2` はデフォルトビルドに含まれており、HTTP/2 は本番環境で広く有効になっているため、攻撃対象領域は大きいと警告しました。ユーザーは、この脆弱性がもたらすリスクを軽減するために、最新の修正を適用することを強く推奨します。