セキュリティ26分で読める

Apache HTTPに致命的RCE脆弱性——世界Webサーバーの30%超に影響

CVE-2026-23918——世界のWebサーバーの30%超を支えるApache HTTP Serverに、リモートコード実行(RCE)を可能にする致命的な脆弱性が見つかりました。 2026年5月、Apache Software Foundation(ASF)はApache HTTP Server 2.4.65をリリースし、mod_lua および mod_rewrite 周辺で発生する設定パース処理の不備に起因するRCE脆弱性を修正したと公表しました。

Netcraftの最新調査によれば、Apache HTTP Serverは依然として世界で動作するWebサーバーの 30%超 で利用されており、Nginxと並ぶインターネットの基幹コンポーネントです。今回の脆弱性は、悪意ある単一のHTTPリクエストでサーバー上の任意コードを実行できる可能性があり、影響を受ける組織は数百万規模にのぼると見られます。本記事では、CVE-2026-23918の技術的な仕組み、影響範囲、緊急パッチ手順、そして日本企業が今すぐ取るべきアクションを解説します。

CVE-2026-23918——脆弱性の概要

基本情報

項目内容
CVE番号CVE-2026-23918
CVSSスコア9.8 / 10.0(Critical)
公開日2026年5月(ASFアドバイザリ)
影響を受けるバージョンApache HTTP Server 2.4.0 〜 2.4.64
修正バージョンApache HTTP Server 2.4.65 以降
影響を受けるモジュールmod_lua / mod_rewrite(条件付き有効時)
攻撃の前提認証不要、ネットワーク経由、ユーザー操作不要
影響任意コード実行(RCE)、サーバー完全掌握

CVSS v3.1ベクトル文字列は AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H と評価されており、攻撃の容易性が極めて高いことを示しています。CVSS 9.8というスコアは、未認証・ネットワーク経由・低複雑度で完全な情報漏洩・改ざん・サービス停止を引き起こせる脆弱性に与えられる最上位レンジで、過去の Log4Shell(CVE-2021-44228)と同等の危険度です。

脆弱性のメカニズム

下の図は、攻撃者が細工したHTTPリクエストを送信してから、Apache HTTP Server上で任意コード実行に至るまでの一連の流れを示しています。

CVE-2026-23918の攻撃フロー — 細工したHTTPリクエストがmod_rewriteとmod_luaを経由して任意コード実行に至るメカニズムを示すフローチャート

技術的には、mod_rewrite のリライトルール評価時に、特定のリクエストヘッダー値が mod_lua のスクリプトコンテキストに不適切な形でバインドされ、Luaスクリプト内の os.execute ライクな呼び出しがトリガーされる構造が確認されています。設定ファイルで LuaHookRewriteRewriteMap prg: のようなディレクティブを使用している環境では、外部入力がほぼそのままLuaのVMに渡されるため、攻撃者は任意のシェルコマンドを実行できます。

具体的な攻撃シナリオはおおよそ次の通りです。

  1. 攻撃者がShodanやCensysでApache HTTP Server 2.4系の公開インスタンスを列挙
  2. Server: ヘッダーやTLS証明書から脆弱なバージョン(2.4.0〜2.4.64)を識別
  3. mod_rewrite で評価される特定パスに、エスケープを回避するペイロードを含むHTTPリクエストを送信
  4. mod_lua のVMが攻撃者のコードを評価し、Apacheプロセスの権限でシェルコマンドを実行
  5. リバースシェル確立、/etc/passwd.env の取得、横展開へ

なお、mod_lua がロードされていない構成でも、mod_rewrite 単体で発生する亜種が報告されており、完全な無効化での回避は困難です。mod_lua を使っていないから安全」とは言い切れない のが今回の脆弱性のやっかいなところで、結局のところパッチ適用が唯一の確実な対策となります。

なぜCritical評価なのか

CVE-2026-23918が過去のApache脆弱性の中でも特に危険視されている理由は3つあります。

  • 認証が不要: 公開されているApacheサーバーであれば、誰でも攻撃可能
  • ペイロードが小さい: 数百バイトのHTTPリクエスト1本でRCEが成立し、IDS/IPSによる検知が困難
  • デフォルト構成で悪用可能: mod_rewrite は多くのディストリビューションでデフォルト有効化されているため、追加設定なしで攻撃が刺さるケースがある

Apache HTTP Serverと世界のWeb基盤

30%超のシェアという現実

Netcraftが2026年4月に公表したWeb Server Survey によると、世界のアクティブなWebサイトのうち約 30〜32% が依然としてApache HTTP Serverで稼働しています。Nginxが35〜37%、Cloudflare/LiteSpeedなどが続く構図で、Apacheは長年にわたりインターネットの「土台」を支え続けてきました。

下の図は、CVE-2026-23918の影響範囲を視覚的に示したものです。Webサーバー全体に占めるApacheのシェアと、影響を受ける可能性のあるサーバー数を把握できます。

CVE-2026-23918の影響範囲 — 世界のWebサーバーシェアにおけるApacheの割合と、推定影響サーバー数を示す棒グラフ

Apache HTTP Serverが特に多用されている領域は以下のとおりです。

  • エンタープライズ用途: 老舗の業務システム、社内ポータル、レガシーWebアプリ
  • ホスティング基盤: cPanelやPleskといった共有ホスティングコントロールパネルのバックエンド
  • CMS基盤: WordPress、Drupal、JoomlaなどのPHPベースCMSの標準サーバー
  • 大学・研究機関: 国立大学法人・研究所の公式サイトの多くが伝統的にApacheを採用
  • 政府系システム: 各国官公庁の公式サイトでもApacheの採用率は依然高い

これらの「目立たないけれど社会基盤として重要」なサーバー群が、まとめて攻撃対象になり得る点が今回の脅威の本質です。

想定される攻撃者と動機

CVE-2026-23918は、その容易さと影響範囲の広さから、複数のアクターが同時並行で悪用する典型的なCriticalパターンに該当します。

  • ランサムウェアグループ: WordPress経由でホスティング業者のサーバー群を一括侵害し、顧客サイトを人質化
  • 国家支援型APT: 政府系・研究機関サイトを足がかりとして長期潜伏、知財・研究データの窃取
  • クリプトジャッキング集団: 大量の脆弱サーバーをマイニングボットネット化
  • イニシャルアクセスブローカー(IAB): 侵害済みサーバーへのアクセス権をダークウェブで販売

過去のApache関連脆弱性、たとえばOptionsBleed(CVE-2017-9798)やApache Struts 2のCVE-2017-5638(Equifax侵害の原因)と比べても、今回はApache HTTP Server本体 の脆弱性であり、影響範囲はStrutsよりも桁違いに広い点に注意が必要です。

パッチ適用と緊急対応——日本の管理者向け実務手順

即時にやるべきこと(24時間以内)

下の図は、Apache HTTP Server 2.4.65以降への移行を含む、緊急パッチ適用の標準的なワークフローを示しています。

CVE-2026-23918のパッチ適用フロー — バージョン確認、バックアップ、yum/apt更新、設定検証、再起動、ログ監視までの6ステップを示すフロー図

ステップ1: バージョン確認

まず自社サーバーで稼働しているApacheのバージョンを正確に把握します。

# バージョン確認
httpd -v
# または
apache2 -v

# モジュール一覧の確認(mod_luaとmod_rewriteの状態)
httpd -M | grep -E 'lua|rewrite'
apache2ctl -M | grep -E 'lua|rewrite'

2.4.0 〜 2.4.64 のいずれかが表示された場合、即座にパッチ適用が必要です。

ステップ2: バックアップの取得

設定変更前に必ず設定ファイルとログのバックアップを取ります。

# 設定ファイルのバックアップ
sudo tar czf /root/apache-config-backup-$(date +%Y%m%d).tar.gz /etc/httpd /etc/apache2 2>/dev/null

# 起動中のプロセス情報を記録
ps aux | grep -E 'httpd|apache2' > /root/apache-process-snapshot.txt

ステップ3: パッケージ更新

主要ディストリビューション別の更新コマンドは以下のとおりです。

RHEL / Rocky Linux / AlmaLinux 系(yum / dnf)

# パッケージ情報の更新
sudo dnf check-update httpd

# httpdの更新(2.4.65以降に上がることを確認)
sudo dnf update httpd mod_ssl

# バージョン確認
httpd -v

Ubuntu / Debian 系(apt)

# パッケージインデックスの更新
sudo apt update

# Apacheの更新
sudo apt install --only-upgrade apache2 apache2-bin apache2-utils

# バージョン確認
apache2 -v

ソースビルドの場合

# 公式サイトから最新版を取得
wget https://archive.apache.org/dist/httpd/httpd-2.4.65.tar.gz
tar xzf httpd-2.4.65.tar.gz
cd httpd-2.4.65
./configure --enable-so --enable-rewrite --with-included-apr
make && sudo make install

ステップ4: 設定ファイルの検証と再起動

設定の構文チェックを必ず行ってから再起動します。

# 設定の構文チェック
sudo httpd -t
# または
sudo apache2ctl configtest

# 問題なければ再起動
sudo systemctl restart httpd
# または
sudo systemctl restart apache2

# 起動確認
sudo systemctl status apache2

ステップ5: 緩和策(パッチ適用が今すぐできない場合)

事情によりすぐに更新できない場合の緊急ワークアラウンドは以下のとおりです。

  • mod_lua の無効化: LoadModule lua_module modules/mod_lua.so の行をコメントアウト
  • RewriteMap prg: の停止: 外部プログラム呼び出し型のリライトマップを一時停止
  • WAFでのペイロードブロック: AWS WAF、Cloudflare、ModSecurityなどで疑わしいクエリ文字列を遮断
  • インターネットからの隔離: 業務上必須でなければ、一時的にプライベートネットワークに退避

ただし、これらはあくまで「時間稼ぎ」であり、CVSS 9.8の脆弱性に対しては72時間以内のパッチ適用が現実的なリミットと考えるべきです。

ステップ6: 侵害痕跡(IoC)の確認

すでに攻撃を受けている可能性を排除するため、以下を確認します。

# 不審なプロセスの確認
ps aux | grep -E 'curl|wget|nc|/tmp/' | grep -v grep

# Apacheのアクセスログから疑わしいリクエストを抽出
sudo grep -E 'LuaHookRewrite|RewriteMap|prg:|%00|\.\./' /var/log/httpd/access_log
sudo grep -E 'LuaHookRewrite|RewriteMap|prg:|%00|\.\./' /var/log/apache2/access.log

# 直近に変更された不審なファイル
sudo find /var/www /tmp /dev/shm -mtime -7 -type f 2>/dev/null | head -50

# 不審なcronエントリ
sudo crontab -l
sudo ls -la /etc/cron.d/ /etc/cron.daily/

不審なファイルやプロセスが見つかった場合は、即座にネットワークから切り離し、フォレンジック調査に切り替えてください。

他のWebサーバーとの比較——直近のCVE状況

「Apacheだから危ないのか、Webサーバー全般が危ないのか」を見極めるため、主要なWebサーバーの直近3年(2023〜2025年)のCVE状況を比較してみます。

Webサーバー世界シェア直近3年のCVE数直近のCritical (CVSS 9.0+)開発主体ライセンス
Apache HTTP Server約30〜32%25件CVE-2026-23918(9.8)Apache Software FoundationApache License 2.0
Nginx (OSS)約35〜37%9件CVE-2025-1974(NGINX Ingress, 9.8)F5 / NGINX Inc.BSD-2-Clause
Caddy約1〜2%4件なし(最高7.5)ZeroSSL(コミュニティ主導)Apache License 2.0
LiteSpeed (OpenLiteSpeed)約12〜14%11件CVE-2024-26307(9.1)LiteSpeed TechnologiesGPLv3(OSS版)

注: CVE数は National Vulnerability Database(NVD)に登録された該当製品のCVEを筆者がカウントした概数で、見方によって変動します。

このデータから読み取れる重要なポイントは以下のとおりです。

  • Apacheは機能が多い分、攻撃面も広い: 100以上のモジュールを内包するため、mod_luamod_rewrite のような豊富な機能が逆にCVEを増やす要因になっている
  • Nginxは設計がシンプルで脆弱性が少ない: イベント駆動のシングルバイナリ寄りな構造で、攻撃面が限定的
  • Caddyは自動TLSとモダンな設計で堅牢性が高い: Go言語実装でメモリ安全性が高く、Critical級が出ていない
  • LiteSpeedは商用版が主流のため、OSS版のセキュリティ更新が遅れる傾向

ただし、CVE数の少なさが必ずしも「安全」を意味するわけではない点には注意が必要です。Apacheが30年以上にわたり世界中の研究者から監視され続けているのに対し、Caddyのような新興プロダクトはまだ十分にレビューされていない可能性もあります。

筆者の所感——OSS基幹コンポーネントのリスクと責任

「タダで使える」の代償

筆者は20年以上にわたりApache HTTP Serverを業務利用してきましたが、今回のCVE-2026-23918を見て改めて痛感したのは、「インターネットの30%超を支えるOSSが、ボランティアコミットメイカーによって維持されている」という構造的リスク です。

Apache HTTP ServerはApache Software Foundationが管理していますが、コア開発者の多くは個人ベースで貢献しており、Red HatやIBMといった一部の企業からのフルタイム雇用支援を除けば、明確な「責任を持つ事業者」が存在しません。Log4Shell(CVE-2021-44228)が問題になった2021年末にも同じ議論がありましたが、それから4年経った今も状況は本質的に変わっていません。

OSSは「自由に使える」反面、利用者は 「自分で監視し、自分でパッチを当てる」責任 を負います。商用サポート契約のないインフラチームが、CVSS 9.8の脆弱性を24時間以内にパッチ適用できる体制になっているか、これは多くの日本企業にとって耳の痛い問いです。

SBOM義務化の波——避けられない流れ

米国では2021年5月の大統領令14028以降、連邦政府向けソフトウェアにはSBOM(Software Bill of Materials, ソフトウェア部品表)の提出が義務化されつつあります。EUでもCRA(Cyber Resilience Act)が2024年に発効し、製品にOSSを組み込む事業者には脆弱性管理とパッチ提供の義務が課されるようになりました。

日本でも経済産業省が2023年に「ソフトウェア管理に向けたSBOMの導入に関する手引(V2.0)」を公開しており、医療機器や重要インフラ分野を皮切りにSBOM対応が本格化しています。CVE-2026-23918のような事案が発生したとき、SBOMを整備していれば「自社のどの製品・どのサーバーが影響を受けるか」を数分で特定できますが、未整備の組織では数日〜数週間かけて手作業の棚卸しを行う羽目になります。

筆者の予測としては、2027年までに日本の大手企業の調達基準にSBOMが標準で含まれる ようになり、サプライヤー側もSBOM提出を求められるのが当たり前になるでしょう。今回のApacheの件は、その流れを一段と加速させる転換点になる可能性があります。

筆者が実際にやっていること

参考までに、筆者が自宅サーバーと業務サーバーで実施しているOSS脆弱性対策を共有しておきます。

  • GitHub Dependabot / Renovate で依存パッケージのCVEを自動検知
  • unattended-upgrades(Debian/Ubuntu)と dnf-automatic(RHEL系) でセキュリティパッチを自動適用
  • Wazuh / OSSEC によるHIDSでファイル改ざんを監視
  • Cloudflare / WAFを前段に挟む ことでゼロデイのバッファを稼ぐ
  • パスワードと秘密鍵は1Passwordで集中管理し、漏洩が疑われたら即座に全ローテーション

特に最後のパスワード管理は、サーバー侵害時の「被害拡大」を抑える最後の砦になります。CVE-2026-23918でApacheサーバーが侵害された場合、.env ファイルや ~/.ssh/id_rsa の漏洩が次の攻撃へとつながります。クレデンシャルをファイルにベタ書きせず、適切なシークレットマネージャー経由で取得する運用が必須です。

日本企業が今すぐ取るべきアクション

Tier 1: 緊急対応(48時間以内)

  1. 資産棚卸し: 自社が保有・運用する全Apache HTTP Serverのバージョンとモジュール構成を一覧化する
  2. 2.4.65への即時アップグレード: dnf update httpd または apt install --only-upgrade apache2 を実行
  3. ログ監査: 過去30日のアクセスログから疑わしいパターン(LuaHookRewriteRewriteMap prg:、エスケープシーケンスを含むリクエスト)を検索
  4. クレデンシャルローテーション: 影響を受けたサーバーで使われていたAPIキー、DBパスワード、SSHキーをすべて再発行

Tier 2: 中期対応(1ヶ月以内)

  1. SBOMの整備: 主要システムについてSPDXまたはCycloneDX形式でSBOMを生成し、CVE自動マッチングを構築
  2. WAFの導入: AWS WAF、Cloudflare、ModSecurityなどでゼロデイへのバッファを確保
  3. インシデント対応訓練: CVSS 9.0+のCriticalが公開されたときの対応フローをテーブルトップ演習で検証
  4. 依存OSSの監視ツール導入: Dependabot、Renovate、Snykなどで自動アラート化

Tier 3: 長期戦略(半年〜1年)

  1. Webサーバー多様化の検討: 単一プロダクトへの過度な依存を避け、要件に応じてNginxやCaddyを併用
  2. SREチームのスキル投資: OSSパッチ管理を「片手間」ではなく専任業務として位置付け
  3. クラウドマネージドへの移行検討: AWS ALB、Cloudflare、Vercelなど、ベンダーがパッチを当ててくれるマネージドサービスを部分的に活用
  4. SBOMを調達基準に組み込む: 外注ベンダーや製品調達時にSBOM提出を必須化

まとめ——「枯れている」は「安全」ではない

CVE-2026-23918は、Apache HTTP Serverのような「30年以上の歴史を持つ枯れたOSS」でさえ、今なおCritical級の脆弱性が見つかる可能性があることを改めて示しました。OSSは魔法ではなく、人間が書いたコードであり、人間が監視・修正している以上、ゼロデイは必ず発生します。

「枯れている = 安全」という思い込みを捨て、継続的な脆弱性管理こそが本当の意味でのセキュリティ であることを認識する必要があります。今回の件で重要なのは、Apacheを使い続けるか、別のWebサーバーに乗り換えるかという二者択一ではなく、どのプロダクトを選んでもパッチ適用の運用体制が整っているか という一点に尽きます。

今すぐ実施すべき3つのアクションステップ:

  1. Apache HTTP Serverのバージョン確認とパッチ適用: httpd -v または apache2 -v でバージョンを確認し、2.4.64以下なら即座に2.4.65以降にアップグレード。dnf update httpd または apt install --only-upgrade apache2 を72時間以内に完了させる
  2. 侵害痕跡の確認とクレデンシャルローテーション: 過去30日のアクセスログから疑わしいリクエストを検索し、影響を受けたサーバーで使用していたAPIキー・SSHキー・DBパスワードを1Passwordで一括ローテーションする
  3. SBOMと自動パッチ運用の構築: 自社の主要システムについてSBOMを整備し、Dependabot / Renovateなどで依存OSSのCVEを自動検知する体制を半年以内に構築する。次のCVE-2026-23918級の脆弱性が出たときに、24時間以内にパッチを当てられる体制が組織の競争力になる

Apache HTTP Serverは今後もインターネットの基盤であり続けるでしょう。しかしそれは「Apacheが安全だから」ではなく、「我々が継続的に監視・パッチ適用しているから」です。CVE-2026-23918は、その当たり前を改めて思い出させてくれる出来事でした。

1Passwordでクレデンシャルを安全に管理し、ゼロデイ発生時の被害を最小限に抑えましょう。

この記事をシェア