NGINXのrewriteモジュールの脆弱性CVE-2026-42945の悪用
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]。
| 項目 | 値 | 資料 |
|---|---|---|
| 脆弱性の種別(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年 | - | CVE-2026-42945の番号が予約された | [10] |
| 2026年 | F5 | nginx 1.30.1 stableと1.31.0 mainlineを公開し、CVE-2026-42945のレコードを公開した | [1、10] |
| 2026年 | CVE Program | depthfirst.com/nginx-riftとGitHubのDepthFirstDisclosures/Nginx-Riftへの参照をレコードに加えた | [10] |
| 2026年 | VulnCheck | CVE-2026-42945の検索クエリとネットワークのルールを追加した | [15] |
| 2026年 | VulnCheck | 脆弱性とPoCの公開から3日後に、カナリアのシステムが悪用の試みの検知を始めた | [21] |
| 2026年 | CSA・MS-ISAC | CSAがアラートAL-2026-056を、MS-ISACがアドバイザリ2026-051を出した | [13、14] |
| 2026年 | JPCERT/CC | Weekly ReportでNGINXのヒープベースのバッファオーバーフローの脆弱性を取り上げた | [12] |
| 2026年 | F5 | CVEレコードの記載を更新した | [10] |
対象の製品と版
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| NGINX Open Source | 0.6.27〜1.30.0 | 1.30.1、1.31.0 | [2] |
| NGINX Plus | R32(R32 P6未満)、R36(R36 P4未満) | R32 P6、R36 P4(R37は影響を受けない) | [10] |
| F5 WAF for NGINX | 5.9.0〜5.12.1 | v5.13.0 | [13、21] |
| F5 DoS for NGINX | 4.8.0 | v4.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]。
| 配布元 | 状態 | 修正版・アドバイザリ | 資料 |
|---|---|---|---|
| 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]F5, Inc.『2026』(2026年5月13日公開)
- [2]F5, Inc.『nginx security advisories』(公開日不明、2026年11月4日閲覧)
- [3]F5, Inc.『CHANGES-1.30』(2026年5月13日公開)
- [26]F5, Inc.『NGINX ngx_http_rewrite_module vulnerability CVE-2026-42945』(2026年5月13日公開、保存記録のみ) 保存記録
関係組織
- [4]AlmaLinux OS Foundation『NGINX Rift (CVE-2026-42945) Patches Released』(2026年5月13日公開、2026年5月14日更新)
- [5]Debian Project『CVE-2026-42945』(公開日不明、2026年11月4日閲覧)
- [6]Canonical Ltd.『CVE-2026-42945』(2026年5月14日公開、2026年6月6日更新)
- [7]Red Hat, Inc.『CVE-2026-42945』(2026年5月13日公開)
- [8]SUSE LLC『CVE-2026-42945 Common Vulnerabilities and Exposures』(公開日不明、2026年11月4日閲覧)
- [9]Amazon Web Services, Inc.『CVE-2026-42945』(2026年5月13日公開、2026年5月18日更新)
- [25]University of California, Berkeley『ISO Security Notice: NGINX Rift』(2026年5月15日公開)
公的機関
- [10]CVE Program『CVE-2026-42945 NGINX ngx_http_rewrite_module vulnerability』(2026年5月13日公開、2026年9月10日更新)
- [11]National Institute of Standards and Technology『CVE-2026-42945』(2026年5月13日公開、2026年10月26日更新)
- [12]一般社団法人JPCERTコーディネーションセンター『JPCERT/CC Weekly Report 2026-05-20号』(2026年5月20日公開)
- [13]Cyber Security Agency of Singapore『Multiple Vulnerabilities in F5 NGINX, BIG-IP and BIG-IQ』(2026年5月18日公開)
- [14]Center for Internet Security, Inc.『Multiple Vulnerabilities in NGINX Could Allow for Remote Code Execution』(2026年5月18日公開)
調査・観測
- [15]VulnCheck, Inc.『New exploits, detections, and more for ProFTPD, Ollama, WordPress, and TP-Link TL-WR940N routers. Queries and signatures for NGINX.』(2026年5月15日公開)
- [16]Openwall『NGINX ngx_http_rewrite_module vulnerability CVE-2026-42945』(2026年5月13日公開)
報道機関
- [17]The Hacker News『18-Year-Old NGINX Rewrite Module Flaw Enables Unauthenticated RCE』(2026年5月14日公開、2026年5月21日更新)
- [18]SecurityWeek『PoC Code Published for Critical NGINX Vulnerability』(2026年5月16日公開、2026年5月18日更新)
- [19]The Hacker News『NGINX CVE-2026-42945 Exploited in the Wild, Causing Worker Crashes and Possible RCE』(2026年5月17日公開、2026年6月18日更新)
- [20]SecurityWeek『Exploitation of Critical NGINX Vulnerability Begins』(2026年5月18日公開)
- [21]Help Net Security『Attackers are exploiting critical NGINX vulnerability (CVE-2026-42945)』(2026年5月18日公開)
- [35]Security Affairs『NGINX Rift: an 18-year-old flaw in the world's most deployed web server just came to light』(2026年5月14日公開)
背景資料
- [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)を加え、「悪用の状況」を改めた。
