Apache HTTP Serverの二重解放CVE-2026-23918

カテゴリ
脆弱性の公表
タグ
国外
目次
  1. 脆弱性の内容
  2. 時系列
  3. 対象の製品と版
  4. 悪用の状況
  5. 修正と回避策
  6. 未公表の事項
  7. 注
  8. 出典
  9. 更新記録
  10. 関連記事

ASFの2026年5月4日の公表によると、HTTP/2を使うApache HTTP Server 2.4.66〔注1〕に二重解放の脆弱性CVE-2026-23918があり、リモートでコードを実行される可能性がある⁠[1]。ASFは重要度をimportantとし、同じ日に公開した2.4.67への更新を推奨した⁠[1]。NVDの10月26日更新の記録には、CISAのKEVへの追加日が無い⁠[11]。

脆弱性の内容

ASFは発見者として、striga.aiとisec.plの研究者2人を挙げた⁠[1]。題は「Apache HTTP Server: http2: double free and possible RCE on early reset」である⁠[1]。

表1:CVE-2026-23918の評価
項目値資料
CWECWE-415(二重解放)⁠[10]
CVSS 3.1(CISAのADP)8.8(AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)⁠[10]
重要度・CVSS 3.1(Red Hat)Important、8.8⁠[4]
CVSS 3.1(Amazon Linux)8.1(AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)⁠[9]
CVSS(SUSE)3.1は8.1、4.0は9.2⁠[8]
優先度(Ubuntu)high⁠[5]

発見者の一人が所属するStrigaの技術解説によると、mod_http2は終わったストリームをその場で解放せず、ポインタを後始末の配列m->spurgeに積む⁠[16]。後の処理でこの配列をたどり、各ストリームのプールを破棄する⁠[16]。クライアントがHEADERSでストリームを開き、直後に0以外のエラーコードのRST_STREAMを送ると、そのストリームは多重化部に登録されないまま2つのコールバックがそれぞれ後始末を呼ぶ⁠[16]。Strigaは、同じストリームに特定の順で送った2つのフレームが、同じh2_streamのポインタを配列に2回積むと書いた⁠[16]。

Strigaは、エラーコード8(CANCEL)のRST_STREAMで足り、TCP接続1本とフレーム2つでワーカープロセスをクラッシュさせられると書いた⁠[16]。Apacheはワーカーを起動し直すが、処理中の要求はすべて失われる⁠[16]。CVSSの「PR:L」は控えめで、発火に認証も特定のパスも特別なヘッダーも要らないとした⁠[16]。

Red Hatは、HTTP/2の早期のストリームのリセットで起き、認証前にリモートのクライアントが行使しうるため、ModerateでなくImportantにしたと説明した⁠[4]。

Strigaによると、同じクラッシュは2025年12月にBugzilla 69899で安定性の不具合として報告され、2日後にtrunkで修正された⁠[16]。CVEは割り当てられず、2.4.66が公開の安定版のままだった⁠[16]。Strigaは、自社が独立に見つけて行ったセキュリティの報告が、CVEと2.4.67につながったと書いた⁠[16]。

目次へ

時系列

時系列
日付主体内容資料
2025年12月4日ASF2.4.66を公開した⁠[1]
2025年12月10日-PR 69899で報告された〔注2〕⁠[3]
2025年12月11日-r1930444とr1930796で修正された⁠[3]
2026年3月26日Striga2.4.66で見つけた不具合をApacheのセキュリティチームに報告した⁠[16]
2026年5月4日ASF2.4.67を公開し、oss-securityにCVE-2026-23918の告知を送った⁠[1、2、3]
2026年5月6日Striga技術解説を公開した⁠[16]
2026年5月6日CanonicalUSN-8239-1を出した⁠[6]
2026年5月8日JPCERT/CC・IPAJVNVU#99705957を公開した⁠[12]
2026年5月26日Exploit Database第三者が作ったDoSの実証コードを掲載した⁠[18]

目次へ

対象の製品と版

ASFのmod_http2の文書では、このモジュールは2.4.17以降で使え、HTTP/2の処理をlibnghttp2に頼る⁠[21]。HTTP/2の機能を使うには、Protocolsディレクティブで有効にする必要がある⁠[21]。

Strigaの技術解説では、2.4.66にはmod_http2がコンパイル済みで含まれる⁠[16]。多くのLinuxディストリビューションのパッケージでは既定で有効でないが、本番のHTTP/2の環境では広く有効にされている⁠[16]。コード実行の連鎖は、APRのmmapアロケータ、マルチスレッドのMPM、mod_statusを読み込んだビルドで、別の情報漏えいと組み合わせたときに成り立つ⁠[16]。mmapアロケータはDebian系と公式のhttpdのDockerイメージの既定で、MPM preforkは影響を受けない⁠[16]。

Ubuntuは、上流の説明では影響を受けるのは2.4.66だけだとした⁠[5]。問題の核心は以前の版にもあるが、mod_http2 v2.0.33のメモリ割り当ての変更が無いと二重解放にならないと説明し、resoluteより前の版を影響なしとした⁠[5]。

表2:配布元の対応状況
配布元状態修正版・アドバイザリ資料
Canonical(Ubuntu 26.04 LTSのapache2)修正版あり2.4.66-2ubuntu2.1⁠[5]
Canonical(Ubuntu 14.04〜25.10のapache2)not-affected-⁠[5]
Debian(bookworm・trixie・unstableのapache2)修正版ありbookworm 2.4.67-1~deb12u2、trixie 2.4.66-1~deb13u2、unstable 2.4.66-5⁠[7]
Debian(bullseyeのapache2)not-affected(HTTP/2の退行が入っていない)-⁠[7]
SUSE(apache2ほか)ResolvedSUSE-SU-2026:2103-1(2026年5月28日)ほか⁠[8]
Amazon Linux(Amazon Linux 2023のmod_http2)FixedALAS2023-2026-1724⁠[9]
Amazon Linux(Amazon Linux 2のhttpd・mod_http2、Amazon Linux 2023のhttpd)Not Affected-⁠[9]
Red Hat(Red Hat Hardened Imagesのhttpd-main)修正版ありRHSA-2026:13938、httpd-main-2.4.67-0.1.hum1⁠[4]
Red Hat(RHEL 6〜10のhttpd・mod_http2、JBoss Core Servicesのmod_http2)Not affected-⁠[4]

Endolumは、スイスでApache/2.4.66を名乗る公開ホストを7'141と数えた(スイスのApacheの11.4%)⁠[17]。749ホストのTLSの試験でh2のALPNを確かめたのは111(14.8%)で、実際に悪用できるのは約290ホストと見積もった⁠[17]。

目次へ

悪用の状況

CVE記録のCISAのSSVCの評価は、Exploitationがnone、Automatableがno、Technical Impactがtotalである⁠[10]。MS-ISACの勧告は、DoSとコード実行の概念実証コードが存在すると書いた⁠[15]。

Strigaの概念実証は管理された実験環境で動かしたもので、system()とscoreboardのアドレスを得る情報漏えいを前提にしている⁠[16]。単独で成り立つリモートのASLR回避は作っていない⁠[16]。実験環境は公式の「httpd:2.4.66」のイメージでstatusモジュールを有効にしたもので、x86_64で試した⁠[16]。試行は確率的で、実行の成功まで数分から数時間かかるとした⁠[16]。

The Hacker Newsは、発見者の一人がメールで同紙に深刻度を「critical」と述べたと報じた⁠[19]。同じ記事は、DoSはmod_http2とマルチスレッドのMPMを使う既定の構成で容易に成り立つという発見者の言を伝えた⁠[19]。

CVE-2026-23918を名指しした注意喚起は、JVN、JPCERT/CCのWeekly Report、シンガポールのCSA、MS-ISACが出した⁠[12、13、14、15]。JVNは影響をDoSまたは任意のコードの実行とした⁠[12]。

目次へ

修正と回避策

ASFは2.4.67で11件のCVEを修正した⁠[1]。announceへの投稿では、2.4.67をセキュリティ・機能・バグ修正のリリースと説明した⁠[2]。SecurityWeekは、11件のうち10件はそれまでのすべての版に影響すると報じた⁠[20]。

表3:2.4.67で修正したCVEの重要度別の件数
重要度件数含まれるCVE資料
important1件CVE-2026-23918⁠[1]
moderate2件CVE-2026-24072(mod_rewriteの権限昇格)、CVE-2026-33006(mod_auth_digestのタイミング攻撃)⁠[1]
low8件CVE-2026-28780(mod_proxy_ajpのバッファオーバーフロー)ほか⁠[1]

Strigaは、2.4.67がm_stream_cleanupでspurgeに積む前に重複を除くと書いた⁠[16]。シンガポールのCSAは、直ちに最新版へ更新するよう求めた⁠[14]。

Red Hatは緩和策として、LoadModule http2_moduleの行をコメントアウトして再起動し、mod_http2を無効にする方法を挙げた⁠[4]。この措置はHTTP/2に頼るサービスに影響すると書いた⁠[4]。

目次へ

未公表の事項

  • PR 69899の報告から2.4.67の公開までのASFの経緯
  • isec.plの研究者による報告の日付と経緯
  • 世界全体で影響を受ける公開サーバーの数

注

  • 〔注1〕MS-ISACは影響を受けるシステムを2.4.67より前の版とした⁠[15]。NVDの構成は2.4.66だけを脆弱とする⁠[11]。
  • 〔注2〕Strigaの技術解説の時系列では、Bugzilla 69899へのクラッシュの報告は12月9日である⁠[16]。

出典

当事者

関係組織

公的機関

調査・観測

報道機関

背景資料

  • [21]The Apache Software Foundation『Apache Module mod_http2』(公開日不明、2026年11月7日閲覧)

更新記録

  • 2026年5月10日:公開した。
  • 2026年5月13日:JPCERT/CCのWeekly Report 2026-05-13号(出典13)を「悪用の状況」の注意喚起の文に加えた。
  • 2026年5月15日:JPCERT/CCのWeekly Reportの5月15日の更新版(出典13)で、「出典」の行を改めた。
  • 2026年5月26日:Exploit Databaseが掲載した第三者のDoSの実証コード(出典18)を「時系列」に加えた。
  • 2026年7月15日:CVE記録の7月15日の更新版(出典10)で、「出典」の行を改めた。
  • 2026年10月26日:NVDの10月26日の更新(出典11)で、CISAのKEVへの追加日が無いことをリードに加えた。

目次へ