---
title: NGINXのrewrite脆弱性 CVE-2026-42945 「NGINX Rift」は何を確認すべきか
description: NGINXのngx_http_rewrite_moduleで公開されたCVE-2026-42945について、影響条件、確認方法、当面の対策を整理する。
image: cve-2026-42945-nginx-rewrite.jpg
date: 2026-05-14 09:42:00
---

NGINX Open Source / NGINX Plus の `ngx_http_rewrite_module` に、CVE-2026-42945 として脆弱性が公開された。いわゆる「NGINX Rift」と呼ばれているもの。

2026年5月14日時点での公式情報を見る限り、これは「NGINXを使っている全サーバが即RCE」という話ではない。影響するバージョンで、かつ**特定の `rewrite` 設定パターンが存在する場合**に、細工されたHTTPリクエストを外部から送りつけることでNGINXをクラッシュさせたり、**ASLR[^1]が無効な環境ではNGINXに任意コードを実行させることができる**ということだ。

[^1]: ソフトウェアのバグを突いた任意コード実行を難しくするための仕組みのひとつ。Linuxでは `cat /proc/sys/kernel/randomize_va_space`が`2`ならASLRが有効。ほとんどの環境では有効のはずなので、今回の脆弱性に関していうなら任意コード実行まで一直線では成功しないことが多いと考えられる。

## 一番早い確認方法

NGINXの設定に `rewrite` が書かれていないか確認する。

例
```bash
grep -ri 'rewrite' /etc/nginx/
# または
nginx -T | grep -i 'rewrite'
```

何も見つからなければ「少なくともそのNGINXは」今回の脆弱性の対象ではないため、自動アップデート運用をしているホストであれば基本的にはそれに任せれば良いことになる。但し**NGINXは他の何かのソフトウェアに組み込みで利用されている場合もあるので、それらについては個別に対応が必要**なことに注意されたい。

また、`rewrite` が書かれている場合でも即脆弱とは限らず、後続に特定の処理を追加していることが今回の脆弱性が影響する条件なので、該当するかもしれない場合は後述の解説と照らし合わせてチェックする。

## 影響するバージョン

NGINX公式のセキュリティ一覧では、CVE-2026-42945の影響範囲は次のように示されている。

- 脆弱: NGINX Open Source 0.6.27 から 1.30.0
- 修正済み: 1.30.1 以降、または 1.31.0 以降

NGINXは 2026年5月13日に stable 1.30.1 と mainline 1.31.0 をリリースしており、この脆弱性以外にも複数のCVE修正が含まれている。

各Linuxディストリビューションのパッケージングにおいてはバージョン番号を変えずに枝番でセキュリティパッチを管理することが一般的なので、上記バージョン番号だけで確認せずに使用しているディストリビューション(Ubuntuなど)のセキュリティ更新情報も確認すること[^2]。

[^2]: 各ディストリビューションの枝番レベルではパッチ済みなのに本家由来のバージョン番号だけ確認して脆弱だ！って騒ぐ素人さんが本当に多くて困るんですよ・・・

## 何が危ないのか

問題の場所は `ngx_http_rewrite_module` の処理。F5のアドバイザリ由来の説明では、次の条件が絡む。

- `rewrite` ディレクティブが使われている
- その後に `rewrite`、`if`、または `set` ディレクティブが続く
- `$1` や `$2` のような名前なしPCREキャプチャを使っている
- 置換文字列に `?` が含まれている

たとえば、設定の雰囲気としては次のようなものが確認対象になる。

```nginx
rewrite ^/foo/(.*)$ /bar/$1?type=1 last;
set $something $1;
```

この組み合わせで、NGINXが必要なバッファ長を計算するときの前提と、実際に文字列を書き込むときの前提がずれて、workerプロセス上でヒープバッファオーバーフローが起きる。

典型的な影響は worker プロセスのクラッシュと再起動。F5の説明では、**ASLRが無効なシステム(あまりないはずだが)ではコード実行の可能性**も示されている。公開Webサーバでは優先的に対処すべきメモリ破壊系の脆弱性である。

## 今回の見方

「NGINX Rift」という名前や、RCEという言葉だけが一人歩きすると、NGINXを使っているだけで即座に侵害されるように見える。しかし、公式情報ベースでは攻撃成立には設定条件がある。

一方で、条件付きだから大したことがない、という判断も危ない。`rewrite` は歴史の長いNGINX設定ほど残っている可能性があり、脆弱なパターンを外部から推測される余地もある。PoCや詳細情報が出回ると、攻撃者側の探索コストは下がる。

セキュリティ対応としてはアップデートが本筋だが、設定の棚卸しまでやっておくと次の事故も減らせる。

## 参考情報

- [nginx security advisories](https://nginx.org/en/security_advisories.html)
- [nginx news / download](https://nginx.org/)
- [F5 K000161019: NGINX Plus and NGINX Open Source ngx_http_rewrite_module vulnerability CVE-2026-42945](https://my.f5.com/manage/s/article/K000161019)
- [NVD: CVE-2026-42945](https://nvd.nist.gov/vuln/detail/CVE-2026-42945)
- [oss-sec: NGINX ngx_http_rewrite_module vulnerability CVE-2026-42945](https://seclists.org/oss-sec/2026/q2/519)

## 関連記事

- [Linux脆弱性 CVE-2026-31431「Copy Fail」は何が危ないのか・対策](copy-fail-cve-2026-31431.md)
