njsのjs_fetch_proxyの脆弱性CVE-2026-8711
NGINX JavaScript(njs)の0.9.4〜0.9.8に、ヒープバッファオーバーフローの脆弱性CVE-2026-8711がある[1]。F5のCVE記録によると、認証されていない攻撃者が細工したHTTPリクエストで悪用でき、ASLRが無効か回避できるシステムではコードを実行できる[5]。2026年8月3日にCheck Pointが、悪用の試みを検知するIPSの保護を公開した[12]。
脆弱性の内容
nginx.orgはngx_http_js_moduleの文書で、js_fetch_proxyをnjs 0.9.4で加わったディレクティブとし、Fetch APIの転送プロキシのURLを設定すると説明した[17]。値には変数を含められる[17]。NGINXのブログは、njsは当初nginScriptと呼ばれ、2021年にAsync/AwaitとFetch APIが加わったと書いた[16]。
njs 0.9.9の変更履歴によると、js_fetch_proxyの値にクライアントの要求に由来するnginxの変数($http_*、$arg_*、$cookie_*など)を含み、locationのJSハンドラがngx.fetch()を呼ぶとき、ワーカープロセスでオーバーフローが起きうる[2]。問題はコミットdea83189(0.9.4)で入った[2]。
F5はCVE記録で、オーバーフローがワーカープロセスの再起動に至ることがあると説明した[5]。報告者としてudolemi(S2W)に謝辞を述べ、発見の区分を外部とした[5]。F5はこの脆弱性のセキュリティアドバイザリを自社のサイトで公表した[4]。
| 項目 | 値 | 資料 |
|---|---|---|
| CVSS v3.1(F5、Canonical、Red Hat) | 8.1(F5の区分はHIGH、Red Hatの値はdraft)、F5のベクトルはAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H | [5、6、9] |
| CVSS v4.0(F5) | 9.2(CRITICAL)、AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | [5] |
| CVSS v3.1(NISTのNVD) | 9.8(CRITICAL)〔注1〕 | [10] |
| 深刻度の区分 | nginx.orgはmedium、Canonicalは優先度Medium、Red HatはImportant | [1、6、9] |
| CWE | CWE-122(ヒープベースのバッファオーバーフロー) | [5] |
| 悪用の状況(CISAがCVE記録に付けたSSVC) | Exploitationはnone、Automatableはno、Technical Impactはtotal | [5] |
Daily CyberSecurityは、F5のアドバイザリが脆弱な設定の例として、x-userとx-passwordのヘッダーからプロキシのURLを組み立てるjs_fetch_proxyの設定を示したと報じた[15]。この脆弱性はデータプレーンに限られ、コントロールプレーンへの露出は無いとも伝えた[15]。
nginx.orgのnjsのセキュリティ情報は、njsがネットワークから受け取ったコードを含めて動的なコードを評価せず、コードを評価する方法はnginxのjs_importディレクティブの設定だけだとする[1]。脅威モデルではJavaScriptのコードを、nginx.confやサイトの証明書と同じく信頼できるものとみなす[1]。nginx.confにjs_importディレクティブが無ければ、nginxはJavaScript関連の脆弱性の影響を受けないとした[1]。
時系列
対象の製品と版
F5のCVE記録は、技術サポートの終了(EoTS)に達した版を評価していない[5]。
| 配布元 | 状態 | 修正版・アドバイザリ | 資料 |
|---|---|---|---|
| Ubuntu 26.04 LTS(libnginx-mod-js) | 修正済み(Ubuntu ProのESM Apps) | 0.9.4-1ubuntu0.1~esm1 | [6、7] |
| Ubuntu 25.10、24.04 LTS(libnginx-mod-js) | 影響なし(Not affected) | - | [6] |
| Ubuntu 26.10(libnginx-mod-js) | 評価待ち(Needs evaluation) | - | [6] |
| Ubuntu 22.04 LTS | 収録なし(Not in release) | - | [6] |
| Debian unstable(libnginx-mod-js) | 修正済み | 0.9.9-1 | [8] |
| Debian bookworm、trixie(libnginx-mod-js) | 影響なし(Vulnerable code not present) | - | [8] |
| Red Hat Enterprise Linux 8、9、10(nginx) | 調査中(Under investigation) | - | [9] |
| Red Hat Hardened Images(nginx) | 影響なし(Not affected) | - | [9] |
Red Hatは、既定の構成のRed Hat Enterprise Linuxはこの脆弱性にさらされないと説明した[9]。発動には、NGINX JavaScriptモジュールを有効にし、js_fetch_proxyがクライアントの供給する変数を評価する設定とngx.fetch()の呼び出しが要るとした[9]。RHELの既定のASLRとスタックの強化が任意のコード実行の可能性を大きく下げ、影響はワーカーの終了にとどまるのが通例だとも述べた[9]。
修正と回避策
Debianのsecurity trackerとCanonicalのCVEページは、上流の修正のコミットを2bf4601とした[6、8]。
Check PointはIPSの保護CPAI-2026-9717の深刻度をCriticalとし、対象をSecurity GatewayのR82、R81、R80、R77、R75とした[12]。GovCERT.HKは注意喚起で、悪用に成功するとリモートでのコード実行とサービス拒否に至りうるとし、影響を受けるシステムの管理者に、製品のベンダーの推奨に従って直ちに対処するよう勧めた[11]。
未公表の事項
- njs 0.9.9での修正の具体的な内容
- 影響を受ける設定を使っている環境の規模
- 悪用の観測とPoCの公開の有無
注
出典
当事者
- [1]F5, Inc. の NGINX プロジェクト『Security』(公開日不明、2026年11月7日閲覧)
- [2]F5, Inc. の NGINX プロジェクト『Changes』(2026年5月19日公開)
- [3]F5, Inc. の NGINX プロジェクト『nginx news』(2026年5月19日公開)
- [4]F5, Inc.『NGINX ngx_http_js_module vulnerability CVE-2026-8711』(2026年5月19日公開、保存記録のみ) 保存記録
- [5]F5, Inc.『CVE-2026-8711』(2026年5月19日公開、2026年5月21日更新)
関係組織
- [6]Canonical Ltd.『CVE-2026-8711』(2026年5月19日公開、2026年6月18日更新)
- [7]Canonical Ltd.『USN-8425-1: njs vulnerability』(2026年6月11日公開)
- [8]Debian Project『CVE-2026-8711』(公開日不明、2026年11月7日閲覧)
- [9]Red Hat, Inc.『CVE-2026-8711』(2026年5月19日公開)
公的機関
- [10]National Institute of Standards and Technology『CVE-2026-8711 Detail』(2026年5月19日公開、2026年7月23日更新)
- [11]GovCERT.HK『Security Alert (A26-05-34): Vulnerability in F5 NGINX JavaScript (njs)』(2026年5月20日公開)
調査・観測
- [12]Check Point Software Technologies Ltd.『F5 NGINX JavaScript Heap Overflow (CVE-2026-8711)』(2026年8月3日公開)
報道機関
- [15]Daily CyberSecurity『Critical 9.2 CVSS: NGINX JavaScript Module Flaw (CVE-2026-8711) Triggers Heap Buffer Overflows』(2026年5月20日公開)
背景資料
- [16]F5, Inc.『Celebrating 20 Years of NGINX』(2024年10月4日公開)
- [17]F5, Inc. の NGINX プロジェクト『Module ngx_http_js_module』(公開日不明、2026年11月7日閲覧)
更新記録
- 2026年5月21日:公開した。
- 2026年6月11日:CanonicalのUSN-8425-1(出典7)を加え、Ubuntu 26.04 LTSの修正パッケージを「時系列」と「対象の製品と版」に加えた。
- 2026年6月18日:CanonicalのCVEページの6月18日の更新(出典6)で示されたUbuntuの各版の状態を「対象の製品と版」に反映した。
- 2026年7月23日:NISTのNVDの記録の7月23日の更新(出典10)にあるCVSS v3.1の評価を「脆弱性の内容」と注に加えた。
- 2026年8月3日:Check PointのIPSの保護の告知(出典12)をリードと「修正と回避策」に加えた。
