NGINXのrewriteモジュールの脆弱性CVE-2026-42945の悪用

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

F5が2026年5月13日に公表したCVE-2026-42945は、NGINXのngx_http_rewrite_moduleで、細工したHTTPリクエストによりワーカープロセスのヒープバッファオーバーフローを起こしうる脆弱性である⁠[10]。シンガポールのサイバーセキュリティ庁(CSA)はアラートで、この脆弱性が実際に悪用されているとした⁠[13]。

脆弱性の内容

F5はCVEレコードの説明で、rewriteディレクティブの後にrewrite・if・setのいずれかが続き、名前の無いPCREのキャプチャ($1、$2など)を疑問符(?)を含む置換文字列とともに使うときに脆弱性があるとした〔注1〕⁠[10]。認証されていない攻撃者は、攻撃者の制御の及ばない条件とあわせて細工したHTTPリクエストを送ることで悪用できる⁠[10]。悪用されると、NGINXのワーカープロセスでヒープバッファオーバーフローが起きて再起動に至りうる⁠[10]。ASLRが無効のシステムか、攻撃者がASLRを回避できる場合は、コードを実行できる〔注2〕⁠[10]。

表1:CVE-2026-42945の評価
項目値資料
脆弱性の種別(F5)CWE-122(ヒープベースのバッファオーバーフロー)⁠[10]
CVSS v3.1(F5)8.1(HIGH)⁠[10]
CVSS v4.0(F5)9.2(CRITICAL)⁠[10]
重大度(nginx.org)medium⁠[2]
重大度(Red Hat)Critical⁠[7]
優先度(Ubuntu)High⁠[6]
重大度とCVSS(SUSE)important、v3.1は8.6、v4.0は8.3⁠[8]
重大度とCVSS v3(Amazon Linux)Important、7.5⁠[9]
リスク(MS-ISAC)大・中規模の政府機関と企業でHIGH、小規模の政府機関と企業でMEDIUM、家庭の利用者でLOW⁠[14]

nginx 1.30.1の変更記録は、このバッファオーバーフローが任意のコード実行に至りうると記した⁠[3]。Red Hatによると、悪用には名前の無いPCREキャプチャと置換文字列の疑問符を含む、既定でないrewriteの設定が要る⁠[7]。

oss-securityへの投稿が引いた発見者depthfirstの要約では、NGINXは宛先のバッファの大きさをある前提のエスケープで計算し、別の前提で書き込む⁠[16]。書き込みは確保したバッファを越え、決定的なメモリ破壊が起きる⁠[16]。MS-ISACの技術の要約では、rewriteとsetの連なりでis_argsフラグが伝わらず、確保するバッファが小さくなる⁠[14]。

AlmaLinuxは、+・%・&などの文字が再エスケープで膨らみ、書き込みが確保領域の終わりを越えると説明した⁠[4]。越えて書かれるバイトは、攻撃者のURIに由来するものだ⁠[4]。

SecurityWeekが引いたdepthfirstの説明では、リクエストURIを+記号で埋めると、エスケープの関数が1バイトを3バイトに膨らませ、確保したチャンクを溢れさせる⁠[18]。溢れる量は、与えるエスケープ対象の文字の数で完全に制御できる⁠[18]。エクスプロイトは、リクエストをまたいだヒープの配置で隣接するngx_pool_tのcleanupのポインタを壊し、プールの破棄時にsystem()を呼ばせる⁠[18]。

F5は、問題を知らせたdepthfirstの研究者に謝辞を記し、発見の区分を外部とした⁠[10]。Help Net Securityは、depthfirstの研究者が同社のAIネイティブの脆弱性検出基盤の助けを借りて、CVE-2026-42945をほかの4件とともに見つけたと報じた⁠[21]。

The Hacker NewsとSecurity Affairsの記事では、修正版は4月21日の責任ある開示を経て出た⁠[17、35]。公表のときには悪用の報告は無く、depthfirstはF5と公開を調整していたとSecurity Affairsは書いた⁠[35]。

目次へ

時系列

時系列
日付主体内容資料
2026年4月30日-CVE-2026-42945の番号が予約された⁠[10]
2026年5月13日F5nginx 1.30.1 stableと1.31.0 mainlineを公開し、CVE-2026-42945のレコードを公開した⁠[1、10]
2026年5月14日CVE Programdepthfirst.com/nginx-riftとGitHubのDepthFirstDisclosures/Nginx-Riftへの参照をレコードに加えた⁠[10]
2026年5月15日VulnCheckCVE-2026-42945の検索クエリとネットワークのルールを追加した⁠[15]
2026年5月16日VulnCheck脆弱性とPoCの公開から3日後に、カナリアのシステムが悪用の試みの検知を始めた⁠[21]
2026年5月18日CSA・MS-ISACCSAがアラートAL-2026-056を、MS-ISACがアドバイザリ2026-051を出した⁠[13、14]
2026年5月20日JPCERT/CCWeekly ReportでNGINXのヒープベースのバッファオーバーフローの脆弱性を取り上げた⁠[12]
2026年5月21日F5CVEレコードの記載を更新した⁠[10]

目次へ

対象の製品と版

表2:影響を受ける製品と修正版
製品影響を受ける版修正版資料
NGINX Open Source0.6.27〜1.30.01.30.1、1.31.0⁠[2]
NGINX PlusR32(R32 P6未満)、R36(R36 P4未満)R32 P6、R36 P4(R37は影響を受けない)⁠[10]
F5 WAF for NGINX5.9.0〜5.12.1v5.13.0⁠[13、21]
F5 DoS for NGINX4.8.0v4.9.0⁠[13、21]

CSAは、NGINX Open Sourceの0.6.27〜0.9.7には修正が無いとした⁠[13]。影響を受ける製品には、NGINX Instance Manager、NGINX App Protect WAF、NGINX App Protect DoS、NGINX Gateway Fabric、NGINX Ingress Controllerも挙げた⁠[13]。F5は、技術サポートの終了(EoTS)に達した版を評価していない⁠[10]。nginxの変更記録では、0.6.27の公開日は2008年3月12日である〔注3〕⁠[23]。

表3:配布元の対応状況
配布元状態修正版・アドバイザリ資料
AlmaLinux修正版あり8・9・10・Kitten 10の修正パッケージ(5月14日に本番のリポジトリ)⁠[4]
Debian修正版ありbullseye 1.18.0-6.1+deb11u6(DLA-4589-1)⁠[5]
Debian修正版ありbookworm 1.22.1-9+deb12u7、trixie 1.26.3-3+deb13u5(DSA-6278-1)、unstable 1.30.0-3⁠[5]
Ubuntu修正版あり26.04の1.28.3-2ubuntu1.1から14.04の1.4.6-1ubuntu3.9+esm6まで(20.04以前はUbuntu Pro)⁠[6]
Red Hat修正版ありRHSA-2026:17790(5月15日、RHEL 10.0 EUS)、RHEL 8・9・10は5月18日以降(RHSA-2026:18063、RHSA-2026:18041ほか)⁠[7]
SUSE修正版ありSUSE-SU-2026:2050-1(5月25日)ほか⁠[8]
Amazon Linux修正版ありALAS2NGINX1-2026-012(AL2 Nginx1 Extra)、ALAS2023-2026-1714(AL2023)、5月26日⁠[9]

目次へ

悪用の状況

CISAのADP(Vulnrichment)がCVEレコードに付けたSSVCの評価は、5月13日付でExploitationがnone、Automatableがno、Technical Impactがtotalだった⁠[10]。10月26日に更新されたNVDのレコードは、CISAのKEVカタログへの追加日の項目を持たない⁠[11]。

VulnCheckはリリースノートで、ASLRが無効のサーバーではコード実行が可能だとしつつ、そうしたサーバーを「extremely unlikely」と書いた⁠[15]。悪用には特定のrewriteの設定が要るため、すべてのNGINXが悪用できるわけではない⁠[15]。同社のCensysのクエリでは、潜在的に脆弱な版を動かすインターネットに露出したNGINXサーバーが約570万台見つかるが、実際に悪用できる数ははるかに少ないとみられる⁠[15]。同社は、公開されたPoCを、動作にASLRの無効化が要るためDoSに分類した⁠[15]。

SecurityWeekは、VulnCheckの研究者が、CVEの公開から数日でVulnCheck Canaries上でCVE-2026-42945の実際の悪用を観測していると警告したと報じた⁠[20]。MS-ISACは、depthfirstが概念実証のエクスプロイトを公開し、VulnCheckの個人が実際の悪用を報告したと書いた⁠[14]。JPCERT/CCは、概念実証コードの公開を確認している⁠[12]。

The Hacker Newsの5月17日の記事では、VulnCheckのハニーポットの網で悪用の試みが検知され、攻撃の性質と最終的な目的は分かっていない⁠[19]。同じ記事が引いたセキュリティ研究者の発言では、悪用には特定のNGINXの設定と、攻撃者がその設定を知るか見つけることが要り、RCEにはASLRの無効化も要る⁠[19]。

AlmaLinuxのチームは独自に問題を再現し、サポート中の全リリースのnginxでPoCを作った⁠[4]。DoSは全リリースで容易で、1つの細工したリクエストで対象のワーカープロセスが確実に落ちたと説明した⁠[4]。既定の設定でASLRが有効なシステムでは、汎用的で確実なエクスプロイトを作るのは容易でないとみている⁠[4]。そのうえで、容易でないことは不可能を意味しないとし、ワーカーを落とすDoSだけでも緊急に扱うよう勧めた⁠[4]。

目次へ

修正と回避策

F5は、ngx_http_rewrite_moduleの脆弱性の告知を公開した⁠[26]。JPCERT/CCは、修正済みの版に更新すれば解決するとした⁠[12]。CSAは、すぐに更新できない場合の回避策として、rewriteの定義で名前の無いキャプチャの代わりに名前付きキャプチャを使うことを挙げた⁠[13]。

oss-securityへの投稿が引いたdepthfirstの要約によると、影響を受ける版でこの設定の形を持つNGINXは、更新か設定の変更をするまで攻撃にさらされる⁠[16]。カリフォルニア大学バークレー校の情報セキュリティ部門(ISO)は、学内のIT管理者とサービス管理者に向けた注意喚起で、制御プレーンへの露出は無く、データプレーンだけの問題だとした⁠[25]。

目次へ

未公表の事項

  • 悪用の試みを受けたサーバーの数と組織、侵害の有無
  • 実際の攻撃でのコード実行の成否
  • 攻撃者の正体

注

  • 〔注1〕同じモジュールの別の脆弱性CVE-2026-9256は、重なり合う複数のPCREキャプチャを使うrewriteの正規表現で起きる⁠[24]。
  • 〔注2〕oss-securityへの投稿が引いたF5の告知は、ASLRが無効のシステムではコード実行が可能だと書いていた⁠[16]。Amazon Linuxのページの説明も同じ文言である⁠[9]。
  • 〔注3〕AlmaLinuxは、欠陥がrewriteモジュールに約18年前からあるとした⁠[4]。SecurityWeekは、混入から16年後に修正されたと報じた⁠[18]。

出典

当事者

関係組織

公的機関

調査・観測

報道機関

背景資料

  • [23]F5, Inc.『CHANGES-0.6』(2008年3月12日公開)
  • [24]CVE Program『CVE-2026-9256』(2026年5月22日公開、2026年8月25日更新)

更新記録

  • 2026年5月21日:公開した。
  • 2026年5月22日:CVE Programが5月22日に公開したCVE-2026-9256のレコード(出典24)を加え、注を改めた。
  • 2026年6月6日:Canonicalが6月6日に更新したUbuntuのCVEページ(出典6)を加え、「脆弱性の内容」と「対象の製品と版」を改めた。
  • 2026年6月18日:The Hacker Newsが6月18日に更新した記事(出典19)を加え、「悪用の状況」を改めた。
  • 2026年8月25日:CVE-2026-9256のレコードの8月25日の更新版(出典24)で注を改めた。
  • 2026年9月10日:CVE-2026-42945のレコードの9月10日の更新版(出典10)で「脆弱性の内容」と「時系列」を改めた。
  • 2026年10月26日:NISTが10月26日に更新したNVDのレコード(出典11)を加え、「悪用の状況」を改めた。

目次へ