00_セキュリティ脅威事象調査AIエージェント - 概要セキュリティ脅威事象調査のためのAIエージェント調査結果シリーズnginx - CVE-2026-42945 (NGINX Rift), CVE-2026-9256, CVE-2026-8711 調査結果
セクション全体の目次
00_セキュリティ脅威事象調査AIエージェント - 概要セキュリティ脅威事象調査のためのAIエージェント調査結果シリーズセキュリティ脅威対応レポート
Section titled “セキュリティ脅威対応レポート”- 作成日: 2026-05-26
- 調査基準日: 2026-05-26 Asia/Tokyo
- 対象:
- T01: CVE-2026-42945 / NGINX Rift
- T02: CVE-2026-9256
- T03: CVE-2026-8711
- 対象環境:
- nginx-core
- nginx-njs
- nginx-plus
- distro-nginx
- container-nginx
- managed-nginx
- 想定読者: 脆弱性管理チーム、SOC/CSIRT、インフラ運用、Web基盤、Kubernetes/Platform Engineering、監査・経営向け要約利用者
- 目的: nginx系3件の脆弱性について、CVEごとの境目、更新単位、暫定緩和、確認方法、残余リスクを分離し、社内運用判断と監査に使える形で整理する。
- 主要入力:
- RESEARCH_BRIEF_FOR_REPORT_AGENT(本監査入力)
- 最終レポート本文(本監査入力)
今回の対象は、NGINX Open Source / NGINX Plus / NGINX JavaScript(njs)に関係する3件の脆弱性である。いずれも、条件を満たす設定に対して細工したHTTPリクエストを送ることで、nginx worker processのheap buffer overflowやworker restartを引き起こす可能性がある。ASLRが無効、またはASLRを迂回可能な環境では、コード実行の可能性も残る。
重要な点は、3件を同じ「nginx脆弱性」としてまとめて扱わないことである。T01とT02はいずれもngx_http_rewrite_moduleに関係するが、発火条件と修正境目が異なる。T03はnginx本体ではなく、NGINX JavaScript / njs / ngx_http_js_module側の脆弱性であり、nginx本体versionだけでは裁定できない。
本レポートの社内運用優先度は、ベンダーSeverityやCVSSをそのまま転記したものではない。外部公開、設定該当性、PoC公開、二次情報での悪用報告、事業影響、更新単位の明確さを加味した運用上の優先度である。
最優先で確認すべき環境は、インターネットから到達可能なnginx、リバースプロキシ、Ingress、CDN/WAF前段または後段でHTTPリクエストを受けるnginx、NGINX Plus、nginxを内包するcontainer image、njs / ngx_http_js_moduleを有効化している環境である。
パッチは公開済みである。ただし、patch availableとpatch appliedは別である。実環境のnginx version、NGINX Plus release、distro package release、container digest、njs version、active running binary、設定内容が未提示のため、個別資産について「修正済み」とは断定しない。
対応方針は次の通り。
| 選択肢 | 選べる条件 | 完了条件 |
|---|---|---|
| 手動更新 | 自社管理のnginx / NGINX Plus / container / distro packageで、変更権限がある場合 | 該当CVEを修正済みと公式根拠で確認できるversion / release / build / packageへ到達し、稼働中processまたはdeploy済みdigestが更新後であることを確認 |
| OS自動更新待ち | 対象distro/releaseの公式trackerで修正済みpackageが公開済み、かつ自動更新・再起動・再デプロイの完了を証跡で確認できる場合 | installed packageだけでなく、active binary / process start time / pod rolloutまで確認 |
| 暫定緩和 | すぐに更新できないが、該当rewrite / njs設定を変更できる場合 | 悪用条件を減らした設定が反映され、nginx -t、回帰試験、設定差分、変更承認を保存。ただし恒久対応ではない |
| managed/bundled vendor待ち | 利用者が直接patchできず、vendorが管理するnginx / njsの場合 | vendor advisoryで対象product/model/tenant/region/releaseが修正済みまたは非該当と明記され、利用中tenantへの反映を確認 |
2. 対応優先度
Section titled “2. 対応優先度”| 優先度 | 対象 | 理由 | 推奨期限/扱い |
|---|---|---|---|
| P0 | インターネットから到達可能なnginx / NGINX Plus / container-nginxで、T01/T02のversionまたはrewrite設定が未確認の環境 | 社内運用優先度としてP0。T01/T02はリモート未認証HTTP requestで到達し得る。T01は公開PoCが確認され、二次情報で悪用観測が報告されている。T01/T02は同じrewrite module系でも境目が異なり、T01対応済みでもT02が残る可能性がある。 | 2026-05-26中に棚卸し開始。外部公開かつversion/config未確認の場合は、修正済み境目への到達確認または暫定緩和を優先。 |
| P1 | njs / ngx_http_js_moduleを有効化し、js_fetch_proxy と ngx.fetch() を使う可能性がある外部到達環境 | 社内運用優先度としてP1。T03はnginx本体ではなくnjs側であり、nginx本体更新だけでは解消しない。client-controlled variableを含むjs_fetch_proxyとngx.fetch()が同一経路にある場合、未認証HTTP requestでworker restartや条件付きコード実行リスクが残る。 | 72時間以内を目安にnjs導入有無、njs version、該当設定を確認。該当時はnjs 0.9.9以上またはdistro公式fixed packageへ到達確認。 |
| P1 | NGINX Plus R32/R36でpatch level未確認の環境 | NGINX PlusはR-streamとpatch levelで境目が異なる。R32/R36の公式境目は確認済みだが、実環境のR-stream/Patch levelが未観測。 | R32/R36のpatch levelを確認し、T01はR36 P4/R32 P6以上、T02はR36 P5/R32 P7以上を確認。R32/R36以外はvendor根拠を追加確認。 |
| P1 | Debian / Ubuntuのdistro-nginxでpackage release未確認の環境 | distro packageはupstream versionだけでは判定できない。backportにより低いupstream version表記でも修正済みの場合がある。一方、DebianではT02がbullseye/bookworm/trixieでvulnerable表示のため、T01用security update適用済みでもT02が残る可能性がある。 | 72時間以内にOS release、repository、installed package release、running processを確認。公式tracker上の固定packageまたはstatusに照合。 |
| P2 | managed-nginx / bundled nginxでvendor、product、model、tenant、releaseが未確認の環境 | 利用者側で直接patchできない可能性がある。upstream nginxの境目をmanaged productへ直接適用できない。 | vendor advisory確認、サポート問い合わせ、tenant反映確認を実施。未確認が残る場合は例外承認と代替監視を設定。 |
3. 今回の脅威の全体像
Section titled “3. 今回の脅威の全体像”3.1 脅威IDと境目の整理
Section titled “3.1 脅威IDと境目の整理”| 脅威ID | CVE / 識別子 | 通称 / 別名 | 影響コンポーネント | 攻撃経路 | 更新単位 / 配布単位 | 他IDとの関係 | 注意点 |
|---|---|---|---|---|---|---|---|
| T01 | CVE-2026-42945 | NGINX Rift / nginx-rift | NGINX Open Source / NGINX Plusのngx_http_rewrite_module | 特定rewrite設定に対するcrafted HTTP request | NGINX Open Source stable/mainline、NGINX Plus R-stream/Patch level、distro package、container image digest、managed vendor release | T02と同じrewrite module系だが別CVE、別条件、別境目 | Open Source境目はstable 1.30.1+ / mainline 1.31.0+。T02の境目は満たさない。 |
| T02 | CVE-2026-9256 | ngx_http_rewrite_module buffer overflow | NGINX Open Source / NGINX Plusのngx_http_rewrite_module | overlapping PCRE capturesと複数capture参照を含むrewriteに対するcrafted HTTP request | NGINX Open Source stable/mainline、NGINX Plus R-stream/Patch level、distro package、container image digest、managed vendor release | T01と混同禁止。T01対応releaseではT02が残る場合がある。 | Open Source境目はstable 1.30.2+ / mainline 1.31.1+。stable 1.30.1 / mainline 1.31.0はT02境目未満。 |
| T03 | CVE-2026-8711 | NGINX JavaScript / njs / ngx_http_js_module / js_fetch_proxy | njs / NGINX JavaScript / ngx_http_js_module | js_fetch_proxyにclient-controlled variableを含み、同locationでngx.fetch()を呼ぶ経路へのcrafted HTTP request | njs release、distro libnginx-mod-js等のmodule package、container image digest、Plus module package、managed vendor release | nginx coreのversionだけでは裁定不可 | njs upstream境目は0.9.9+。問題は0.9.4で導入。njs 0.9.4〜0.9.8は該当設定があればat-risk。 |
3.2 修正済み境目一覧
Section titled “3.2 修正済み境目一覧”| CVE | Product / 配布単位 | Stream / release | 修正済みversion / release / build | vulnerable / at-risk整理 | 適用できる範囲 | 適用してはいけない範囲 |
|---|---|---|---|---|---|---|
| CVE-2026-42945 | NGINX Open Source | stable 1.30.x | 1.30.1+ | 0.6.27-1.30.0 | upstream stable source/packageでversion比較可能なもの | NGINX Plus、distro backport、container image全体、managed製品 |
| CVE-2026-42945 | NGINX Open Source | mainline 1.31.x | 1.31.0+ | 0.6.27-1.30.0 | upstream mainline source/packageでversion比較可能なもの | stable、NGINX Plus、distro backport、managed製品 |
| CVE-2026-9256 | NGINX Open Source | stable 1.30.x | 1.30.2+ | 0.1.17-1.31.0 | upstream stable source/packageでversion比較可能なもの | T01境目、NGINX Plus、distro backport、container image全体 |
| CVE-2026-9256 | NGINX Open Source | mainline 1.31.x | 1.31.1+ | 0.1.17-1.31.0 | upstream mainline source/packageでversion比較可能なもの | T01境目、stable、NGINX Plus、distro backport |
| CVE-2026-8711 | njs / NGINX JavaScript | njs 0.9.x | 0.9.9+ | 0.9.4〜0.9.8は該当設定があればat-risk | upstream njs versionで比較可能なもの | nginx core versionのみ、distro module package without mapping、Plus module without mapping |
| CVE-2026-42945 | NGINX Plus | R36 | R36 P4+ | R36 P4未満は要確認 | NGINX Plus R36 | R32、R35/R37等、Open Source、distro package |
| CVE-2026-42945 | NGINX Plus | R32 | R32 P6+ | R32 P6未満は要確認 | NGINX Plus R32 | R36、R35/R37等、Open Source、distro package |
| CVE-2026-9256 | NGINX Plus | R36 | R36 P5+ | R36 P5未満は要確認 | NGINX Plus R36 | R32、R35/R37等、Open Source、distro package |
| CVE-2026-9256 | NGINX Plus | R32 | R32 P7+ | R32 P7未満は要確認 | NGINX Plus R32 | R36、R35/R37等、Open Source、distro package |
| CVE-2026-42945 | Debian nginx package | bullseye-security | 1.18.0-6.1+deb11u6+ | bullseye 1.18.0-6.1+deb11u3はvulnerable表示 | Debian bullseye security repoのnginx package | Ubuntu、upstream、third-party package |
| CVE-2026-42945 | Debian nginx package | bookworm-security | 1.22.1-9+deb12u7+ | bookworm 1.22.1-9+deb12u6はvulnerable表示 | Debian bookworm security repoのnginx package | Ubuntu、upstream、third-party package |
| CVE-2026-42945 | Debian nginx package | trixie-security | 1.26.3-3+deb13u5+ | trixie 1.26.3-3+deb13u4はvulnerable表示 | Debian trixie security repoのnginx package | Ubuntu、upstream、third-party package |
| CVE-2026-9256 | Debian nginx package | bullseye/bookworm/trixie | 公式tracker上は2026-05-26時点でvulnerable表示 | bullseye-security 1.18.0-6.1+deb11u6、bookworm-security 1.22.1-9+deb12u7、trixie-security 1.26.3-3+deb13u5もvulnerable表示 | Debian package status確認 | T01のDebian修正境目をT02へ流用しない |
| CVE-2026-9256 | Debian nginx package | forky/sid | 1.30.1-3 fixed表示 | 他releaseへ横展開不可 | Debian forky/sid nginx package | bullseye/bookworm/trixie、Ubuntu、upstream |
| CVE-2026-8711 | Debian libnginx-mod-js package | bookworm/trixie/forky/sid | bookworm 0.7.9-2 / trixie 0.8.9-1 はDebian tracker上 fixed 表示。ただし fixed-version欄は <not-affected>(Vulnerable code not present)であり、version boundaryではなく当該Debian releaseのnot-affected statementとして扱う。forky/sidは0.9.9-1 fixed表示 | Debian公式package以外は別確認 | Debian libnginx-mod-js package | Ubuntu、upstream njs、third-party module |
| CVE-2026-42945 | Ubuntu nginx package | 26.04 LTS resolute | 1.28.3-2ubuntu1.1+ | fixed package未満は要確認 | Ubuntu 26.04 nginx package | Debian、upstream、container全体 |
| CVE-2026-42945 | Ubuntu nginx package | 25.10 questing | 1.28.0-6ubuntu1.3+ | fixed package未満は要確認 | Ubuntu 25.10 nginx package | Debian、upstream、container全体 |
| CVE-2026-42945 | Ubuntu nginx package | 24.04 LTS noble | 1.24.0-2ubuntu7.8+ | fixed package未満は要確認 | Ubuntu 24.04 nginx package | Debian、upstream、container全体 |
| CVE-2026-42945 | Ubuntu nginx package | 22.04 LTS jammy | 1.18.0-6ubuntu14.11+ | fixed package未満は要確認 | Ubuntu 22.04 nginx package | Debian、upstream、container全体 |
| CVE-2026-8711 | Ubuntu libnginx-mod-js package | 26.04/25.10/24.04 | Needs evaluation | fixed boundary未確認 | Ubuntu tracker status確認 | upstream njs境目をUbuntu packageへ直接適用しない |
| CVE-2026-8711 | Ubuntu libnginx-mod-js package | 22.04 LTS jammy | Not in release | 当該releaseの公式packageとしては未提供表示 | Ubuntu 22.04公式package確認 | 手動導入、PPA、container同梱njsは別確認 |
4. 脆弱性・脅威項目別の説明
Section titled “4. 脆弱性・脅威項目別の説明”4.1 T01 / CVE-2026-42945 / NGINX Rift
Section titled “4.1 T01 / CVE-2026-42945 / NGINX Rift”- 何が対象か:
- NGINX Open SourceおよびNGINX Plusの
ngx_http_rewrite_module。 - 脆弱なversionかつ特定rewrite設定を持つ環境。
- NGINX Open SourceおよびNGINX Plusの
- どこで使われるものか:
- URL rewrite、redirect、routing、内部location遷移、request URI変換などで使われるnginx core module。
- どう悪用されるか:
rewritedirectiveが後続のrewrite/if/setdirectiveと組み合わさり、unnamed PCRE capture(例:$1,$2)と?を含むreplacement stringが存在する条件で、crafted HTTP requestを送る。
- 悪用されるとどうなるか:
- nginx worker processでheap buffer overflowが発生し、worker restartにつながる可能性がある。
- ASLRが無効、またはASLRを迂回可能な条件では、コード実行の可能性がある。
- 必要な前提条件:
- vulnerable version。
- 該当rewrite設定。
- 攻撃者のHTTP requestが対象nginx workerに到達すること。
- リモート性:
- リモート未認証。ただし設定条件と環境条件が必要。
- 公開PoC / 実悪用 / 公的機関扱い:
- 公開PoC repositoryを確認。
- 二次情報でVulnCheck観測としてactive exploitation報告があるが、一次VulnCheck telemetryは本レポートでは直接確認していない。
- CISA KEV掲載は本調査経路では公式確認できていない。CISA feed直接取得は403で失敗。
- ベンダーSeverity / 公的機関の扱い:
- NGINX Security Advisories上のSeverityはmedium。
- Ubuntu priorityはHigh、CVSS v3.1は8.1 Highと表示。
- 本レポートのP0/P1は社内運用優先度であり、ベンダーSeverityそのものではない。
- 社内運用優先度:
- 外部公開nginxでversion/config未確認の場合はP0。
- 内部到達のみ、または該当rewrite設定なしを確認できる場合はP1/P2へ下げる余地がある。
- 影響コンポーネント:
ngx_http_rewrite_module
- 更新単位 / 配布単位:
- upstream NGINX Open Source stable/mainline。
- NGINX Plus R-stream/Patch level。
- distro nginx package。
- container image digest / SBOM / installed package。
- managed/bundled vendor release。
- 修正済みversion / release / build:
- NGINX Open Source stable: 1.30.1+
- NGINX Open Source mainline: 1.31.0+
- NGINX Plus R36: R36 P4+
- NGINX Plus R32: R32 P6+
- Debian/Ubuntu packageはrelease別のfixed packageに照合。
- 恒久対応:
- 対象環境の更新単位でCVE-2026-42945修正済みversion / release / build / packageへ到達し、active binaryまたはdeploy済みimage digestを確認する。
- 暫定緩和:
- 該当rewrite patternを除去する。
- unnamed captureと
?replacementの組み合わせを避ける。 - named capture等へ変更する場合も、設定検証とrouting回帰試験を実施する。
- 残余リスク:
- 設定緩和はT01の既知発火条件を減らすだけであり、binary自体を修正しない。
- T01対応releaseへ到達しても、T02の境目を満たさない場合がある。
- 未確認点:
- 実稼働nginx version/build/package。
- rewrite設定。
- active processが更新後binaryかどうか。
- container digest / SBOM / package list。
- managed vendorの反映状況。
4.2 T02 / CVE-2026-9256
Section titled “4.2 T02 / CVE-2026-9256”- 何が対象か:
- NGINX Open SourceおよびNGINX Plusの
ngx_http_rewrite_module。 - T01とは別CVEであり、同じrewrite module系でも発火条件と境目が異なる。
- NGINX Open SourceおよびNGINX Plusの
- どこで使われるものか:
- URL rewrite、redirect、arguments操作などで使われるnginx core module。
- どう悪用されるか:
rewritedirectiveがdistinct overlapping PCRE capturesを持つregex patternを使い、replacement stringが複数captureをredirectまたはarguments contextで参照する条件で、crafted HTTP requestを送る。
- 悪用されるとどうなるか:
- nginx worker processでheap buffer overflowが発生し、worker restartにつながる可能性がある。
- ASLRが無効、またはASLRを迂回可能な条件では、コード実行の可能性がある。
- 必要な前提条件:
- vulnerable version。
- overlapping captureと複数capture参照を含むrewrite設定。
- 攻撃者のHTTP requestが対象nginx workerに到達すること。
- リモート性:
- リモート未認証。ただし設定条件と環境条件が必要。
- 公開PoC / 実悪用 / 公的機関扱い:
- 本レポートではPoC公開を確認していない。
- 本レポートではactive exploitationを確認していない。
- CISA KEV掲載は本調査経路では公式確認できていない。
- ベンダーSeverity / 公的機関の扱い:
- NGINX Security Advisories上のSeverityはmedium。
- NVD/CVEではnetwork attack vector、privileges required noneの条件が示される。
- 社内運用優先度:
- 外部公開nginxでversion/config未確認の場合はP0。
- T01対応後もT02境目未満の場合は継続対応が必要。
- 影響コンポーネント:
ngx_http_rewrite_module
- 更新単位 / 配布単位:
- upstream NGINX Open Source stable/mainline。
- NGINX Plus R-stream/Patch level。
- distro nginx package。
- container image digest / SBOM / installed package。
- managed/bundled vendor release。
- 修正済みversion / release / build:
- NGINX Open Source stable: 1.30.2+
- NGINX Open Source mainline: 1.31.1+
- NGINX Plus R36: R36 P5+
- NGINX Plus R32: R32 P7+
- Debian forky/sid: 1.30.1-3 fixed表示。
- Debian bullseye/bookworm/trixie: 2026-05-26時点のtrackerではvulnerable表示。
- 恒久対応:
- 対象環境の更新単位でCVE-2026-9256修正済みversion / release / build / packageへ到達し、active binaryまたはdeploy済みimage digestを確認する。
- 暫定緩和:
- overlapping PCRE capturesと複数capture参照をredirect/arguments contextから除去する。
- 残余リスク:
- T01対応済みでもT02は残り得る。
- rewrite設定緩和はT02の既知発火条件を減らすが、binary自体を修正しない。
- 未確認点:
- 実稼働nginx version/build/package。
- overlapping captureを含むrewrite設定。
- distro packageのrelease別status。
- container image digest / SBOM / package list。
4.3 T03 / CVE-2026-8711 / NGINX JavaScript / njs
Section titled “4.3 T03 / CVE-2026-8711 / NGINX JavaScript / njs”- 何が対象か:
- NGINX JavaScript / njs /
ngx_http_js_module。 - nginx core本体ではなく、njs module側の脆弱性。
- NGINX JavaScript / njs /
- どこで使われるものか:
- nginx上でJavaScript handlerを実行する用途。
ngx.fetch()による外部HTTP request処理、認証連携、動的routing、gateway処理など。
- どう悪用されるか:
js_fetch_proxydirectiveに$http_*,$arg_*,$cookie_*などclient-controlled nginx variablesを含め、同じlocationのJS handlerがngx.fetch()を呼び出す条件で、crafted HTTP requestを送る。
- 悪用されるとどうなるか:
- nginx worker processでheap buffer overflowが発生し、worker restartにつながる可能性がある。
- ASLRが無効、またはASLRを迂回可能な条件では、コード実行の可能性がある。
- 必要な前提条件:
- vulnerable njs version。
- njs / ngx_http_js_moduleが導入・ロード・有効化されていること。
js_fetch_proxyにclient-controlled variableを含むこと。- 同locationで
ngx.fetch()が呼び出されること。
- リモート性:
- リモート未認証。ただしnjs設定条件と環境条件が必要。
- 公開PoC / 実悪用 / 公的機関扱い:
- 本レポートではPoC公開を確認していない。
- 本レポートではactive exploitationを確認していない。
- CISA KEV掲載は本調査経路では公式確認できていない。
- ベンダーSeverity / 公的機関の扱い:
- Ubuntu priorityはMedium、CVSS v3.1は8.1 Highと表示。
- 本レポートのP1は社内運用優先度であり、Ubuntu priorityそのものではない。
- 社内運用優先度:
- 外部到達経路でnjs導入・設定該当性が未確認の場合はP1。
- 重要な公開API gateway等で該当設定が確認された場合はP0への引き上げを検討。
- 影響コンポーネント:
- njs /
ngx_http_js_module
- njs /
- 更新単位 / 配布単位:
- upstream njs release。
- distro module package(例: Debian/Ubuntuの
libnginx-mod-js)。 - NGINX Plus module package。
- container image digest / installed module。
- managed/bundled vendor release。
- 修正済みversion / release / build:
- upstream njs: 0.9.9+
- 問題はnjs 0.9.4で導入。njs 0.9.4〜0.9.8は該当設定があればat-risk。
- Debian libnginx-mod-js: bookworm 0.7.9-2 / trixie 0.8.9-1 はDebian tracker上 fixed 表示。ただし fixed-version欄は
<not-affected>(Vulnerable code not present)であり、version boundaryではなく当該Debian releaseのnot-affected statementとして扱う。forky/sidは0.9.9-1 fixed表示。 - Ubuntu libnginx-mod-js: 26.04/25.10/24.04はNeeds evaluation、22.04はNot in release表示。
- 恒久対応:
- 対象環境の更新単位でCVE-2026-8711修正済みversion / release / packageへ到達し、active moduleと稼働中processを確認する。
- 暫定緩和:
js_fetch_proxyにclient-controlled variableを渡さない。- 該当locationの
ngx.fetch()pathを無効化する。 - njs moduleを使っていない場合は、未ロード・未導入を証跡化する。
- 残余リスク:
- nginx core更新だけではT03を解消しない。
js_fetch_proxy設定緩和はT03の既知発火条件を減らすが、njs package自体を修正しない。
- 未確認点:
- njs / ngx_http_js_moduleの導入有無。
- njs version。
js_fetch_proxy設定。ngx.fetch()呼び出し経路。- Plus-specific njs package境目。
- container/managed環境の実体。
5. 対策と脅威項目の対応関係
Section titled “5. 対策と脅威項目の対応関係”| 対策 | 恒久/暫定 | 潰せる項目 | 潰せない項目 | 効果が成立する前提 | 副作用 | 適用すべき環境 | 注意が必要な環境 | 完了条件 |
|---|---|---|---|---|---|---|---|---|
| NGINX Open SourceをCVE別の修正済み境目へ更新 | 恒久 | T01: stable 1.30.1+ / mainline 1.31.0+。T02: stable 1.30.2+ / mainline 1.31.1+。 | T03、distro backport判定、Plus patch level、managed vendor反映、config該当性確認 | upstream versionで比較できるNGINX Open Sourceであること | reload/restart時の通信影響、module互換性確認 | nginx-core、upstream由来container | distro package、NGINX Plus、managed製品 | 該当CVE修正済みversionへ到達し、nginx -v、package metadata、process start timeでactive binaryを確認 |
| NGINX Plusを該当R-streamのpatch levelへ更新 | 恒久 | T01: R36 P4+ / R32 P6+。T02: R36 P5+ / R32 P7+。 | T03、R32/R36以外の境目、Open Source、distro package | 実環境がR32またはR36であること | commercial repo更新、maintenance window、Plus module互換性確認 | nginx-plus | R35/R37等の未確認stream | Plus package metadataでR-stream/Patch levelを確認し、対象CVE修正済みpatch level以上へ到達 |
| distro packageを公式trackerのfixed packageへ更新 | 恒久 | 対象distro/release/packageで公式trackerがfixedとするCVE | upstream version比較だけでの判定、container全体、managed vendor反映 | OS release、repository、package releaseが特定済み | package更新、service restart、依存package影響 | Debian/Ubuntu等のdistro-nginx | third-party repo、PPA、custom build、container image | installed package releaseが公式fixed package以上またはfixed statusであり、稼働中processが更新後であることを確認 |
| container imageを修正済みartifactへ再ビルド・再デプロイ | 恒久 | image内nginx/njs packageが該当CVE修正済みであること | tag名だけの安全性、host側nginx、managed vendor | digest、SBOM、inside-image package/version、running pod/taskが確認可能 | build/deploy影響、rollout、cache、base image差分 | container-nginx、Kubernetes、ECS等 | mutable tag、multi-stage build、distroless、sidecar | deployed digest内のnginx/njsが修正済みで、稼働pod/taskがそのdigestへ切替済み |
| T01該当rewrite patternを除去 | 暫定 | T01の既知発火条件 | T02、T03、binary脆弱性そのもの、別rewrite pattern | 設定変更権限、該当location把握、回帰試験 | routing、redirect、cache key、SEO、アプリ挙動変化 | すぐに更新できないnginx-core / Plus / container | 複雑なinclude構成、managed製品 | nginx -Tで該当pattern除去を確認し、nginx -tと回帰試験を完了。恒久対応は別途必要 |
| T02 overlapping capturesと複数capture参照を除去 | 暫定 | T02の既知発火条件 | T01、T03、binary脆弱性そのもの | rewrite/regex利用箇所を棚卸しできること | URL変換、redirect、query arguments処理の変更 | すぐに更新できないnginx-core / Plus / container | 正規表現がアプリrouting仕様と密結合した環境 | 該当rewrite条件がなくなったことを設定レビューとrouting試験で確認。恒久対応は別途必要 |
js_fetch_proxyからclient-controlled variableを除去、または該当ngx.fetch() pathを無効化 | 暫定 | T03の既知発火条件 | T01、T02、njs package脆弱性そのもの | njs設定・JS handlerを把握できること | proxy経路、認証連携、外部fetch処理の変更 | nginx-njs、njs入りcontainer、Plus with njs | managed/bundled njs、複数JS include | nginx -TとJS handler reviewで該当条件が解消したことを確認。恒久対応は別途必要 |
| ASLR有効化、worker crash監視、pod restart監視 | 補助統制 | コード実行成立条件の一部低減、DoS兆候検出 | heap overflow、worker restart、修正済み判定 | OS/runtime hardeningと監視設定を確認できること | 監視ノイズ、restart policy調整 | 全環境 | container runtime制約、managed製品 | ASLR設定、error log、segfault、restart count、5xx増加の監視証跡を保存。脆弱性修正の代替にはしない |
6. 環境別対応
Section titled “6. 環境別対応”6.1 nginx-core
Section titled “6.1 nginx-core”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | affected_patch_available | Open Source fixed boundaryはstable 1.30.1+ / mainline 1.31.0+ | 実環境version/config未観測のためfixedとは書かない |
| T02 / CVE-2026-9256 | affected_patch_available | Open Source fixed boundaryはstable 1.30.2+ / mainline 1.31.1+ | T01境目ではT02を満たさない |
| T03 / CVE-2026-8711 | unknown_because_environment_not_observed | njs module導入有無が未観測 | nginx coreだけではT03を裁定不可 |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | T01/T02: ngx_http_rewrite_module; T03: njsが導入されている場合のみ別途 |
| 修正が提供される単位 | NGINX Open Source stable/mainline source/package |
| version stream | stable 1.30.x / mainline 1.31.x |
| 修正済みversion / release / build | T01: stable 1.30.1+ / mainline 1.31.0+。T02: stable 1.30.2+ / mainline 1.31.1+ |
| 適用できる範囲 | upstream nginx versionで比較できる環境 |
| 適用してはいけない範囲 | distro backport、NGINX Plus、managed/bundled product、container tagだけの判定 |
| 確認方法 | nginx -v、nginx -V、package metadata、process start time、nginx -T |
| 未確認点 | 実version、build option、package source、active binary、rewrite設定、njs有無 |
- すべてのnginx-core資産で、
nginx -v、package metadata、process start timeを収集する。 - T01/T02は別々に境目照合する。stable 1.30.1 / mainline 1.31.0はT01境目であり、T02境目ではない。
- 外部公開かつversion/config未確認の場合はP0として、修正済みversion到達または暫定rewrite緩和を行う。
nginx -vでruntime versionを確認する。nginx -Vでbuild optionとmodule情報を確認する。- package managerでinstalled package releaseを確認する。
ps -eo pid,lstart,cmd | grep '[n]ginx'等でprocess start timeを確認し、更新後にmaster/workerが再起動済みか確認する。nginx -Tでrewrite、if、set、capture、redirect、argsの利用箇所を棚卸しする。
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| Open Source nginxがT01/T02修正済みversionへ到達したこと | distro backportの扱い、container deploy済みdigest、managed product、njs/T03、設定上の残余リスク |
6.2 nginx-njs
Section titled “6.2 nginx-njs”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | out_of_scope for njs row | T01はnginx core rewrite moduleの問題 | 同一hostのnginx coreは別行で確認 |
| T02 / CVE-2026-9256 | out_of_scope for njs row | T02はnginx core rewrite moduleの問題 | 同一hostのnginx coreは別行で確認 |
| T03 / CVE-2026-8711 | affected_patch_available | upstream njs 0.9.9が修正境目 | 導入有無、version、active module、設定が未観測 |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | njs / NGINX JavaScript / ngx_http_js_module |
| 修正が提供される単位 | upstream njs release、distro module package、container image、Plus module package |
| version stream | njs 0.9.x |
| 修正済みversion / release / build | upstream njs 0.9.9+ |
| 適用できる範囲 | upstream njs versionで比較可能な環境 |
| 適用してはいけない範囲 | nginx core versionのみでの判定、distro module package without mapping、Plus-specific package without advisory |
| 確認方法 | njs -v、package query、nginx -V、module load config、nginx -T、JS handler review |
| 未確認点 | njs導入・有効化・version、js_fetch_proxy、ngx.fetch()、client-controlled variable利用 |
- njs / ngx_http_js_moduleが導入・ロードされているか確認する。
- njs versionを確認し、0.9.4〜0.9.8の場合はT03対象として扱う。
js_fetch_proxyに$http_*,$arg_*,$cookie_*等が含まれ、同locationでngx.fetch()が呼ばれるか確認する。- 該当時はnjs 0.9.9+またはdistro公式fixed packageへ到達し、active moduleを確認する。
njs -vnginx -V 2>&1 | grep -i jsnginx -T 2>/tmp/nginxT.err | grep -nE 'load_module|js_import|js_content|js_fetch_proxy|ngx\.fetch|\$http_|\$arg_|\$cookie_'- Debian/Ubuntuの場合:
dpkg-query -W -f='${Package} ${Version}\n' 'libnginx-mod-js' 'nginx*' 2>/dev/null - containerの場合は、稼働image digest内で同じ確認を行う。
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| njsがCVE-2026-8711修正済みversion/packageへ到達したこと | nginx coreのT01/T02、container deploy済みdigest、Plus-specific njs package境目、managed vendor反映 |
6.3 nginx-plus
Section titled “6.3 nginx-plus”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | affected_patch_available | NGINX Plus R36 P4 / R32 P6が修正release | R32/R36以外は横展開不可 |
| T02 / CVE-2026-9256 | affected_patch_available | NGINX Plus R36 P5 / R32 P7が修正release | T01のP4/P6ではT02境目を満たさない |
| T03 / CVE-2026-8711 | unknown_because_environment_not_observed | Plus環境でnjs module導入有無とpackage境目が未観測 | upstream njs境目だけでPlus packageを断定しない |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | T01/T02: ngx_http_rewrite_module; T03: Plus with njs moduleの場合 |
| 修正が提供される単位 | NGINX Plus R-stream / Patch level |
| version stream | R32 / R36は公式release notesで確認済み |
| 修正済みversion / release / build | T01: R36 P4+ / R32 P6+。T02: R36 P5+ / R32 P7+ |
| 適用できる範囲 | NGINX Plus R32/R36 |
| 適用してはいけない範囲 | R32/R36以外、Open Source、distro package、container image全体 |
| 確認方法 | Plus package metadata、vendor repository、nginx -v、release notes照合 |
| 未確認点 | 実R-stream、Patch level、njs module有無、Plus-specific njs package境目 |
- 実環境のR-streamとPatch levelを確認する。
- R36の場合、T01はP4以上、T02はP5以上を確認する。
- R32の場合、T01はP6以上、T02はP7以上を確認する。
- R32/R36以外の場合は、F5/NGINXの当該R-stream向けadvisoryまたはサポート回答を取得する。
- njs moduleを使う場合は、T03を別途確認する。
nginx -v- Debian系:
dpkg-query -W -f='${Package} ${Version}\n' 'nginx-plus*' - RPM系:
rpm -qa | grep -E '^nginx-plus' - vendor repositoryのenabled channelを確認する。
- release notesのR-stream/Patch levelと照合する。
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| NGINX Plus R32/R36でT01/T02のpatch levelに到達したこと | R32/R36以外の境目、njs/T03、container化されたPlus imageのdeploy済みdigest、設定上の発火条件 |
6.4 distro-nginx
Section titled “6.4 distro-nginx”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | unknown_because_environment_not_observed | Debian/Ubuntuの一部fixed packageは確認済み | distro名、release、repo、package release未観測 |
| T02 / CVE-2026-9256 | unknown_because_environment_not_observed | Debianではbullseye/bookworm/trixieがvulnerable表示、forky/sidがfixed表示 | Ubuntu T02 package境目は本調査経路で公式確認できていない |
| T03 / CVE-2026-8711 | unknown_because_environment_not_observed | Debian libnginx-mod-jsはbookworm/trixieでnot-affected扱い、forky/sidで0.9.9-1 fixed表示あり。Ubuntu libnginx-mod-jsはNeeds evaluation行あり | module package導入有無とreleaseが未観測 |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | T01/T02: distro nginx package。T03: distro njs module package |
| 修正が提供される単位 | OS distribution package / security repository / module package |
| version stream | Debian bullseye/bookworm/trixie/forky/sid、Ubuntu 22.04/24.04/25.10/26.04等。その他distroは未特定 |
| 修正済みversion / release / build | release別に公式trackerへ照合。upstream versionだけで判定しない |
| 適用できる範囲 | 当該distro/release/repository/packageに一致する場合のみ |
| 適用してはいけない範囲 | 他distro、third-party repo、PPA、custom build、container image全体 |
| 確認方法 | /etc/os-release、package manager query、公式tracker、process start time |
| 未確認点 | OS release、repo channel、installed package release、active process、module package |
/etc/os-releaseとpackage managerでdistro/release/repository/package releaseを確認する。- Debian/Ubuntuは本レポートの境目と公式trackerを照合する。
- その他distroは当該vendorのsecurity advisory / errata / trackerで確認し、未確認のままupstream境目を流用しない。
- package更新後、nginx service reload/restartまたはprocess再起動の完了を確認する。
- OS確認:
cat /etc/os-release - Debian/Ubuntu package確認:
dpkg-query -W -f='${Package} ${Version}\n' 'nginx*' 'libnginx-mod-js' 2>/dev/null - apt repository確認:
apt-cache policy nginx libnginx-mod-js - RPM系inventory確認:
rpm -qa | grep -E '^nginx|njs|nginx-module' - active process確認:
ps -eo pid,lstart,cmd | grep '[n]ginx'
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| 対象distro/release/packageが公式fixed packageまたはfixed statusに到達したこと | upstream versionだけでの判定、container deploy済みdigest、managed product、third-party repo、active process未再起動 |
6.5 container-nginx
Section titled “6.5 container-nginx”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | unknown_because_environment_not_observed | image digest、SBOM、package list、runtime binary未観測 | tag名だけでは判定不可 |
| T02 / CVE-2026-9256 | unknown_because_environment_not_observed | T01と境目が異なる | T01修正済みimageでもT02が残る可能性 |
| T03 / CVE-2026-8711 | unknown_because_environment_not_observed | njs moduleの有無とversion未観測 | nginx imageにnjs moduleが含まれる場合は別確認 |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | image内のnginx binary/package、njs module/package |
| 修正が提供される単位 | container image digest、base image、installed package、build artifact |
| version stream | imageごとのbase OS、nginx upstream/distro package、module package |
| 修正済みversion / release / build | image内実体に応じて、Open Source / distro / njs / Plusの境目を適用 |
| 適用できる範囲 | SBOM、inside-image package list、nginx -v、deployed digestで確認できるimage |
| 適用してはいけない範囲 | tag名だけ、registry上の新digestだけ、本番未rolloutのimage |
| 確認方法 | image digest、RepoDigest、SBOM、inside-container command、Kubernetes imageID、pod rollout |
| 未確認点 | deployed digest、SBOM、package list、running pod/task、njs module有無 |
- registry tagではなく、稼働中pod/taskのimage digestを取得する。
- image内で
nginx -v、package query、njs module有無を確認する。 - 修正済みpackageを含むimageを再ビルドし、digestを固定して再デプロイする。
- pod/taskが修正済みdigestへ切り替わったことを確認する。
- Docker image digest:
docker image inspect --format '{{.Id}} {{.RepoDigests}}' <image> - image内nginx確認:
docker run --rm <image> nginx -v - image内OS/package確認:
docker run --rm <image> sh -c 'cat /etc/os-release; dpkg-query -W -f="${Package} ${Version}\n" "nginx*" "libnginx-mod-js" 2>/dev/null || true; rpm -qa | grep -E "^nginx|njs" || true' - Kubernetes imageID確認:
kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.namespace}{" "}{.metadata.name}{" "}{range .status.containerStatuses[*]}{.imageID}{" "}{end}{"\n"}{end}' - rollout確認:
kubectl rollout status deployment/<name> -n <namespace>
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| 稼働中containerが修正済みnginx/njsを含むdigestへ切り替わったこと | host側nginx、managed service、sidecar/別container、設定該当性、未再起動pod |
6.6 managed-nginx
Section titled “6.6 managed-nginx”| 項目 | 判定 | 根拠 | 備考 |
|---|---|---|---|
| T01 / CVE-2026-42945 | unknown_because_scope_gap | vendor/product/model/release未提示 | upstream境目を直接適用不可 |
| T02 / CVE-2026-9256 | unknown_because_scope_gap | vendor/product/model/release未提示 | T01対応告知だけではT02対応とは言えない |
| T03 / CVE-2026-8711 | unknown_because_scope_gap | managed側njs利用有無未提示 | vendor statementが必要 |
更新単位・修正境目の整理
Section titled “更新単位・修正境目の整理”| 項目 | 内容 |
|---|---|
| 影響コンポーネント | managed/bundled nginx、bundled njs、appliance/CDN/WAF/panel等の内蔵component |
| 修正が提供される単位 | vendor release、service-side rollout、tenant/region反映、appliance firmware/bundle |
| version stream | vendor/product/modelごとに未特定 |
| 修正済みversion / release / build | 未特定。vendor advisoryが必要 |
| 適用できる範囲 | vendorが対象product/model/tenant/region/releaseを明記した場合 |
| 適用してはいけない範囲 | upstream nginx境目の直接流用 |
| 確認方法 | vendor advisory、support ticket、management console、tenant version、release notes、status page |
| 未確認点 | vendor、product、model、release、tenant、region、njs利用有無 |
- managed/bundled nginxを含む可能性がある製品を棚卸しする。
- vendor advisoryでCVE-2026-42945、CVE-2026-9256、CVE-2026-8711を個別に確認する。
- vendorが「影響なし」または「修正済み」とする場合も、product/model/tenant/region/releaseが一致する証跡を保存する。
- vendor確認が遅れる場合は、外部公開範囲、WAF/rate limit、監視、例外承認を設定する。
- 管理コンソールのversion / release確認。
- vendor support ticketでCVEごとの該当性と反映済みtenant/regionを確認。
- vendor release notes / advisory / status pageの保存。
- 利用者側で設定可能なrewrite / njs機能がある場合は設定棚卸し。
この対応で解消するもの / 残るもの
Section titled “この対応で解消するもの / 残るもの”| 解消するもの | 残るもの |
|---|---|
| vendorが対象managed productについてCVEごとの修正済みまたは非該当を明記したこと | vendor未回答、tenant未反映、利用者側設定、別製品に内包されたnginx/njs |
7. 推奨アクション
Section titled “7. 推奨アクション”| 優先度 | アクション | 対象 | 目的 | 完了条件 |
|---|---|---|---|---|
| P0 | 外部公開nginxの資産棚卸し | nginx-core、nginx-plus、distro-nginx、container-nginx | T01/T02のversion境目と設定該当性を確認する | 対象host/container/serviceごとにnginx version/package/digest/process start time/rewrite設定の証跡が揃う |
| P0 | T01/T02の修正済み境目への到達確認 | 外部公開nginx | patch availableとpatch appliedの混同を防ぐ | T01は該当更新単位でCVE-2026-42945修正済み境目以上、T02はCVE-2026-9256修正済み境目以上に到達し、active binaryまたはdeployed digestを確認 |
| P0 | 更新不可環境でのrewrite暫定緩和 | 外部公開かつ該当rewrite設定がある環境 | 悪用条件を低減する | T01/T02それぞれの該当rewrite条件が除去され、nginx -t、回帰試験、変更承認を保存 |
| P1 | njs導入有無とT03該当設定確認 | nginx-njs、container-nginx、nginx-plus with njs | T03対象環境を分離する | njs version、module load、js_fetch_proxy、ngx.fetch()経路の確認結果を保存 |
| P1 | njs 0.9.9+またはdistro fixed packageへの到達確認 | T03該当環境 | T03の恒久対応 | njs upstream 0.9.9+、または当該distro公式fixed package/statusに到達し、active moduleを確認 |
| P1 | Debian/Ubuntu package status照合 | distro-nginx | backport境目の誤判定を防ぐ | OS release、repo、installed package releaseを公式trackerと照合し、active process再起動を確認 |
| P1 | container image再ビルド・再デプロイ | container-nginx | 稼働artifactを修正済みにする | deployed image digest内のnginx/njsが該当CVE修正済みで、pod/taskがそのdigestへ切替済み |
| P2 | managed/bundled vendor確認 | managed-nginx | upstream境目の誤流用を防ぐ | vendorがCVEごとにproduct/model/tenant/region/releaseの該当性と修正状況を明記した証跡を保存 |
| P2 | 監視強化 | 全環境 | crash/DoS兆候と残余リスクを監視する | worker restart、segfault、5xx増加、pod restart count、error logの監視設定と検知手順を保存 |
8. 確認コマンド・確認方法
Section titled “8. 確認コマンド・確認方法”8.1 nginx本体versionとactive binary
Section titled “8.1 nginx本体versionとactive binary”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| nginx runtime version | nginx -v | Open Sourceの場合、T01/T02の境目に照合可能 | versionが境目未満、またはdistro/Plus/containerで単純比較不可 | distro backport、Plus patch level、container digest、active process更新 |
| build option/module | nginx -V 2>&1 | module構成、dynamic module path、njs関連の手掛かり | njs有無が分からない場合はpackage/config確認が必要 | njs version、設定該当性 |
| active process | `ps -eo pid,lstart,cmd | grep ‘[n]ginx’` | 更新後にmaster/workerが再起動済み | packageだけ更新されprocessが古い可能性 |
8.2 rewrite設定確認
Section titled “8.2 rewrite設定確認”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| T01条件 | nginx -Tでrewrite、if、set、unnamed capture、? replacementをreview | T01の既知発火条件が見当たらない | 該当patternが存在、またはinclude漏れで未確認 | binary fixed、別host/containerの設定 |
| T02条件 | nginx -Tでoverlapping capturesと複数capture参照、redirect/arguments contextをreview | T02の既知発火条件が見当たらない | 該当patternが存在、またはregex review未完了 | binary fixed、動的生成設定 |
| 設定構文 | nginx -t | 設定構文が通る | 構文エラー | 脆弱性非該当、routing回帰成功 |
注意: nginx -Tには秘密情報が含まれる場合があるため、取得・保存・共有範囲を制限する。
8.3 njs / ngx_http_js_module確認
Section titled “8.3 njs / ngx_http_js_module確認”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| njs version | njs -v、package query | upstream njs 0.9.9+、またはdistro fixed package/status | njs 0.9.4〜0.9.8、またはversion不明 | nginx core fixed、設定非該当 |
| module load | nginx -V、nginx -T、load_module確認 | njs module未導入/未ロード、または導入確認済み | module有無が不明 | js_fetch_proxy設定該当性 |
| T03条件 | nginx -TとJS handler review | client-controlled variableを含むjs_fetch_proxyと同locationのngx.fetch()がない | 該当設定がある、またはJS review未完了 | njs package fixed |
8.4 Debian/Ubuntu package確認
Section titled “8.4 Debian/Ubuntu package確認”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| OS release | cat /etc/os-release | distro/releaseが特定できる | release不明 | package fixed |
| installed package | dpkg-query -W -f='${Package} ${Version}\n' 'nginx*' 'libnginx-mod-js' 2>/dev/null | official trackerのfixed package/statusと照合できる | fixed package未満、またはtracker未確認 | active process更新、container rollout |
| repository | apt-cache policy nginx libnginx-mod-js | official security repo由来を確認 | third-party repo/PPA/custom build | packageが修正済みかどうかはtracker照合が必要 |
8.5 container確認
Section titled “8.5 container確認”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| deployed digest | Kubernetes imageID、registry digest、SBOM | 稼働中artifactを一意に特定 | tagのみ、digest不明 | image内package fixed |
| image内nginx/njs | image内でnginx -v、package query、SBOM確認 | image内componentが修正済み境目に到達 | vulnerable component、または不明 | 本番podがそのimageで稼働中か |
| rollout | kubectl rollout status、pod再作成時刻、task revision | 稼働pod/taskが修正済みdigestへ切替済み | 古いdigestのpod/taskが残存 | 設定該当性 |
8.6 managed/bundled確認
Section titled “8.6 managed/bundled確認”| 何を確認するか | 方法 | 確認済み結果 | 未修正または未確認結果 | この確認だけでは言えないこと |
|---|---|---|---|---|
| vendor該当性 | vendor advisory / support ticket | product/model/release/tenant/region単位でCVEごとに非該当または修正済み | vendor未回答、CVE単位の記載なし | 利用者設定の悪用条件 |
| tenant反映 | 管理コンソール、API、support回答 | 利用tenantに反映済み | global告知のみでtenant反映不明 | 他region/productへの反映 |
| 例外承認 | リスク受容記録 | 未修正期間の代替統制が承認済み | 期限・再評価条件なし | 技術的な修正完了 |
9. 残余リスクと未確定点
Section titled “9. 残余リスクと未確定点”| 項目 | 内容 | 影響 | 次の確認 |
|---|---|---|---|
| 実稼働nginx version/build/package | すべてunknown | T01/T02のfixed/not_fixedを資産単位で裁定できない | nginx -v、package query、process start time収集 |
| rewrite / if / set / PCRE capture設定 | 未提示 | T01/T02の発火条件と優先度が決まらない | nginx -Tと設定review |
| NGINX Plus R-stream/Patch level | 未提示 | Plus境目を適用できない | package metadataとvendor repo確認 |
| njs導入・有効化・version | 未提示 | T03対象有無を裁定できない | njs -v、package query、module load config確認 |
js_fetch_proxy / ngx.fetch()設定 | 未提示 | T03の発火条件を裁定できない | nginx -TとJS handler review |
| OS distro/release/repository/package release | 未提示 | distro packageのbackport境目を適用できない | /etc/os-release、package manager、official tracker照合 |
| container image digest/SBOM/package list | 未提示 | tag名ではpatch appliedを証明できない | deployed digest、SBOM、inside-image package list収集 |
| managed/bundled vendor/product/model/release | 未提示 | upstream境目を適用できない | vendor advisory/support確認 |
| ASLR / container hardening | 未提示 | code execution可能性の条件評価に影響 | ASLR、seccomp/AppArmor、capability、restart policy確認 |
| CISA KEV掲載有無 | 本調査経路では公式確認できず。直接feed取得は403 | 公的機関扱いによる優先度補正が未確定 | CISA公式UI/APIを別経路で確認 |
| Ubuntu T02 package境目 | Ubuntu CVE-2026-9256 page / Ubuntu公式fixed package境目は本調査経路・本監査の追加確認で確認できていない | Ubuntu環境のCVE-2026-9256 fixed packageを本レポートで断定できない | Ubuntu Security Notice / Launchpad / Canonical trackerを継続確認 |
| Plus-specific njs package境目 | 本調査では抽出していない | Plus with njsのT03対応が未確定 | F5/NGINX Plus module advisoryまたはsupport回答を取得 |
10. 監査向け証跡
Section titled “10. 監査向け証跡”| 証跡 | 目的 | 保存すべき内容 |
|---|---|---|
| 公式advisory / release notes | 修正境目の根拠 | NGINX Security Advisories、NGINX CHANGES、CHANGES-1.30、njs changes、NGINX Plus Releases、取得日 |
| CVE/NVD記録 | 悪用条件と影響の根拠 | CVE番号、description、CVSS、references、取得日 |
| distro tracker | package fixed statusの根拠 | Debian/UbuntuのCVE page、package release、repository、取得日 |
| 資産一覧 | 対象漏れ防止 | host、service、container、namespace、Ingress、Plus instance、managed product一覧 |
| version確認結果 | patch applied確認 | nginx -v、nginx -V、package query、njs version |
| active process確認 | installedとrunningの差分防止 | process start time、service restart記録、pod rollout記録 |
| container証跡 | tag/digest混同防止 | deployed digest、SBOM、image inspect、inside-image package list |
| 設定確認結果 | 発火条件確認 | nginx -T出力の管理済み保管、rewrite review、njs review、JS handler review |
| 暫定緩和記録 | 恒久対応との分離 | 変更前後diff、nginx -t、回帰試験、変更承認 |
| 残余リスク承認 | 未修正期間の管理 | 例外承認、期限、再評価日、代替統制 |
| managed vendor確認 | upstream境目の誤適用防止 | vendor advisory、support ticket、tenant/region反映回答、管理画面のversion表示 |
| CISA KEV確認ログ | 公的機関扱いの確認 | 取得成功/失敗、確認日時、検索条件、未確認時の扱い |
11. 根拠文献と主張の対応
Section titled “11. 根拠文献と主張の対応”| 主張 | 根拠文献 | URL | 該当箇所 | その根拠から言えること | その根拠だけでは言えないこと |
|---|---|---|---|---|---|
| T01のNGINX Open Source境目はstable 1.30.1+ / mainline 1.31.0+ | NGINX Security Advisories | https://nginx.org/en/security_advisories.html | CVE-2026-42945 row | Not vulnerableが1.31.0+、1.30.1+と示される | distro backport、Plus、container、managed環境でpatch appliedかどうか |
| T02のNGINX Open Source境目はstable 1.30.2+ / mainline 1.31.1+ | NGINX Security Advisories | https://nginx.org/en/security_advisories.html | CVE-2026-9256 row | Not vulnerableが1.31.1+、1.30.2+と示される | T01境目でT02が修正済みとは言えない |
| T01はmainline 1.31.0でsecurity fixが入った | nginx CHANGES | https://nginx.org/en/CHANGES | Changes with nginx 1.31.0 | CVE-2026-42945のsecurity fixが記載される | stable、distro、Plusのpatch applied |
| T02はmainline 1.31.1でsecurity fixが入った | nginx CHANGES | https://nginx.org/en/CHANGES | Changes with nginx 1.31.1 | CVE-2026-9256のsecurity fixが記載される | stable、distro、Plusのpatch applied |
| T01/T02はstable 1.30.1/1.30.2でそれぞれsecurity fixが入った | nginx CHANGES-1.30 | https://nginx.org/en/CHANGES-1.30 | Changes with nginx 1.30.1 / 1.30.2 | stable streamでのCVE別修正releaseが確認できる | Plus、distro、container全体の修正済み判定 |
| T03のupstream njs境目は0.9.9で、問題は0.9.4で導入された | njs changes | https://nginx.org/en/docs/njs/changes.html | Changes with njs 0.9.9 | CVE-2026-8711のsecurity fixと導入versionが記載される | distro module package、Plus module、container deploy済みdigest |
T01の悪用条件はrewrite/if/set、unnamed PCRE capture、? replacementに関係する | NVD CVE-2026-42945 | https://nvd.nist.gov/vuln/detail/CVE-2026-42945 | Description | 攻撃前提、影響、ASLR条件が確認できる | fixed packageやpatch applied |
| T02の悪用条件はoverlapping PCRE capturesと複数capture参照に関係する | NVD CVE-2026-9256 | https://nvd.nist.gov/vuln/detail/CVE-2026-9256 | Description | 攻撃前提と影響が確認できる | fixed packageやpatch applied |
T03の悪用条件はclient-controlled variableを含むjs_fetch_proxyとngx.fetch()に関係する | NVD CVE-2026-8711 | https://nvd.nist.gov/vuln/detail/CVE-2026-8711 | Description | 攻撃前提と影響が確認できる | nginx coreの影響有無、distro package fixed |
| NGINX Plus R36/R32のT01/T02境目は異なる | NGINX Plus Releases | https://docs.nginx.com/nginx/releases/ | R36 P4/P5、R32 P6/P7 | T01はR36 P4/R32 P6、T02はR36 P5/R32 P7でsecurity releaseが確認できる | R32/R36以外の境目、Plus njs module境目 |
| Debian T01 package statusはrelease別にfixedが示される | Debian Security Tracker CVE-2026-42945 | https://security-tracker.debian.org/tracker/CVE-2026-42945 | Vulnerable and fixed packages | bullseye-security、bookworm-security、trixie-security、forky/sidのstatusが確認できる | Ubuntu、RHEL、Alpine、container全体 |
| Debian T02 package statusはbullseye/bookworm/trixieがvulnerable、forky/sidがfixed表示 | Debian Security Tracker CVE-2026-9256 | https://security-tracker.debian.org/tracker/CVE-2026-9256 | Vulnerable and fixed packages | T01のDebian修正packageをT02へ流用できないことが分かる | Ubuntu T02 status、他distro |
| Debian T03 package statusはlibnginx-mod-jsでbookworm/trixie not-affected、forky/sid 0.9.9-1 fixed表示 | Debian Security Tracker CVE-2026-8711 | https://security-tracker.debian.org/tracker/CVE-2026-8711 | Vulnerable and fixed packages | Debian公式module packageのstatusを確認できる。ただしbookworm/trixieはversion境目ではなく、vulnerable code not presentによるnot-affected扱い | Ubuntu、upstream njs、third-party module |
| Ubuntu T01 package境目は22.04/24.04/25.10/26.04で確認できる | Ubuntu CVE-2026-42945 | https://ubuntu.com/security/CVE-2026-42945 | Status | Ubuntu release別fixed packageが確認できる | Ubuntu T02、container deploy済みdigest |
| Ubuntu T03はlibnginx-mod-jsでNeeds evaluationが残る | Ubuntu CVE-2026-8711 | https://ubuntu.com/security/CVE-2026-8711 | Status | 26.04/25.10/24.04はNeeds evaluation、22.04はNot in releaseと確認できる | fixed package boundary、PPA/manual install |
| T01には公開PoC repositoryがある | DepthFirstDisclosures/Nginx-Rift | https://github.com/DepthFirstDisclosures/Nginx-Rift | README | NGINX Rift aliasとPoC公開状況を確認できる | 公式名称、fixed boundary、production exploitation |
| T01のactive exploitationは二次情報で報告されている | Help Net Security report | https://www.helpnetsecurity.com/2026/05/18/ngnix-vulnerability-exploited-cve-2026-42945/ | Article | VulnCheck観測としての悪用報告を確認できる | 一次telemetry、CISA KEV掲載 |
| CISA KEV掲載は本調査経路では公式確認できていない | CISA KEV feed | https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json | Direct fetch attempt | 直接取得が403で失敗したため、KEV掲載を断定しない | KEVに掲載されていないことの証明 |
12. ブリーフ補正ログ
Section titled “12. ブリーフ補正ログ”| 補正ID | ブリーフ上の記載 | 補正後の記載 | 補正理由 | 根拠文献 | URL | 影響する本文箇所 |
|---|---|---|---|---|---|---|
| COR-001 | Debianについて、主にCVE-2026-42945とCVE-2026-9256のnginx package境目が整理され、T03のDebian libnginx-mod-js境目は明示されていない | Debian Security Tracker CVE-2026-8711を追加確認し、libnginx-mod-jsはbookworm 0.7.9-2 / trixie 0.8.9-1 はDebian tracker上 fixed 表示。ただし fixed-version欄は <not-affected>(Vulnerable code not present)であり、version boundaryではなく当該Debian releaseのnot-affected statementとして扱う。forky/sidは0.9.9-1 fixed表示として追記 | 公式distro trackerでT03のpackage statusを確認できたため | Debian Security Tracker CVE-2026-8711 | https://security-tracker.debian.org/tracker/CVE-2026-8711 | 3.2、4.3、6.4、11 |
| COR-002 | Ubuntu CVE-2026-42945について22.04/24.04/25.10/26.04のfixed packageが記載されている | Ubuntu公式page上、20.04/18.04/16.04/14.04はNeeds evaluation表示もあるため、対象release外・ESM等を使う場合は別確認として残す | 公式pageのStatus欄で追加releaseのNeeds evaluationを確認したため | Ubuntu CVE-2026-42945 | https://ubuntu.com/security/CVE-2026-42945 | 3.2、6.4、9 |
| COR-003 | Ubuntu T02 fixed package境目はブリーフに記載なし | 本調査経路および本監査の追加確認ではUbuntu公式CVE page / fixed package境目を確認できていないため、Ubuntu T02 package境目は追加しない。Ubuntu環境ではCanonical/Ubuntu公式情報を継続確認する | 公式情報でfixed boundaryを確認できず、根拠なしにfixed boundaryを創作しないため | Ubuntu CVE-2026-9256取得試行 / Ubuntu公式検索 | https://ubuntu.com/security/CVE-2026-9256 | 3.2、6.4、9 |
| COR-004 | CISA KEV direct fetchは403で失敗し、KEV掲載を断定しない | 本レポートでも同じ扱いを維持。検索でも対象CVEの公式KEV掲載は確認できていないため、KEV statusは未確認として残す | 公式feedが403で取得不能であり、公式根拠なしに掲載有無を断定しないため | CISA KEV feed | https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json | 4.1、4.2、4.3、9、11 |
| COR-005 | F5 advisory URLはブリーフに含まれるが、今回のweb取得ではmyF5 page本文がCSS Errorで十分に読めない | Plus境目はNGINX Plus Releases、Open Source境目はNGINX Security Advisories / CHANGES、攻撃条件はNVDを主根拠として使用する | 取得できない本文を根拠として断定しないため | NGINX Plus Releases、NGINX Security Advisories、NVD | https://docs.nginx.com/nginx/releases/ / https://nginx.org/en/security_advisories.html / https://nvd.nist.gov/ | 3.2、4、11 |
| COR-006 | その他の主要境目 | 補正なし | NGINX Open Source T01/T02、njs upstream T03、NGINX Plus R32/R36 T01/T02、Debian/Ubuntu T01、Ubuntu T03の主要内容は公式情報で概ね整合 | 各公式根拠 | 本文11章参照 | 全体 |