NGINXの開発チームは2026年9月2日(協定世界時)、NGINX上でJavaScriptを実行するコンポーネント「NGINX JavaScript(njs)」の修正版1.0.1を公開した。1.0.1では3件のセキュリティ問題が修正されており、開発チームは各脆弱性の内容と影響を受けるバージョン範囲をリリースノートで明らかにしている。njsを利用しているNGINX環境では、バージョンを確認して1.0.1への更新を計画する必要がある。
非同期処理の例外でアクセス制御が素通り — CVE-2026-18329
1件目は、アクセス制御ディレクティブjs_accessのバイパス(CVE-2026-18329)である。js_accessはリクエストの処理前にJavaScriptで認可判定を行う仕組みだが、非同期のリクエストボディ継続処理が例外を送出したり未処理の拒否(unhandled rejection)を返したりした場合、NGINXはjs_accessの検査が成功したかのようにリクエスト処理を継続してしまう。攻撃者がこの挙動に持ち込めれば、本来は保護されたリソースへアクセスできてしまうおそれがある。影響を受けるのはバージョン0.9.9から1.0.0で、Ta Duc Thien氏が報告した。
空のreason phraseでワーカーが異常終了 — CVE-2026-78222
2件目は、上流サーバが理由句(reason phrase)を欠くステータス行を返した後にResponse.statusTextを読み取るとワーカープロセスがクラッシュする問題(CVE-2026-78222)である。異常終了したワーカーはNGINXが再生成するが、繰り返し引き起こせばサービス妨害(DoS)のおそれがある。影響範囲はバージョン0.5.1から1.0.0と3件の中で最も広い。
XML正規化の引数解析でヒープ越境書き込み — CVE-2026-78689
3件目は、xml.exclusiveC14n()に渡す名前空間プレフィックス一覧の解析時に起きるヒープバッファオーバーフロー(CVE-2026-78689)である。細工した入力を与えるとヒープ領域外への書き込みが発生する。開発チームは、公式のSAMLリファレンス実装における署名検証処理もこの問題の影響を受けると説明している。影響を受けるのはバージョン0.7.10から1.0.0で、Cyeraの脆弱性研究責任者Vladimir氏が報告した。
修正版1.0.1へ更新を — QuickJS統合の堅牢化も継続
開発チームは、これら3件に対処したnjs 1.0.1を公開した。1.0.1ではQuickJSエンジン統合の堅牢化も進められており、FetchやHTTPリクエスト、Streamセッション間の循環参照によるuse-after-freeやワーカー異常終了の修正、リクエスト・レスポンスのヘッダー名と値の検証強化などが含まれている。
njsはNGINXの動的モジュールとして提供されており、利用者はパッケージやビルド済みモジュールを1.0.1以降に更新する必要がある。日本のWebサイトやAPI基盤でもNGINXの利用は広いため、管理者は自環境のnjsバージョンを確認し、更新計画を立てることが望ましい。
出典
- NGINX njs 1.0.1リリースノート「njs-1.0.1 has been released with fixes for three security issues」(開発チーム、2026年9月2日公開) https://github.com/nginx/njs/releases/tag/1.0.1
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。