ISSコラム

column by iss

脆弱性 CVE-2025-29927について

CVE-2025-29927について

CVE-2025-29927は、Next.jsフレームワークから呼び出されるライブラリ処理がバイパスされる重大な脆弱性です。Next.jsフレームワークが内部で使用する特殊なHTTPヘッダーx-middleware-subrequestの処理に起因します。これはミドルウェアの再帰的な呼び出しを防ぐための内部ヘッダーですが、外部からこのヘッダーを操作できる設計上の欠陥により、攻撃者がライブラリの実行を意図的にスキップできてしまいます。スキップされるライブラリが認証制御に関わるライブラリだった場合、認証のバイパスが生じます。

Next.jsフレームワークのライブラリの主な用途の例としては次のようなものがあります。CVE-2025-29927への攻撃の結果、これらのライブラリがバイパスされると、意図しないデータがWebアプリケーションに引き渡され誤動作を引き起こす可能性が生じます。
・認証と認可:セッション情報やクッキーを確認し、特定のページやAPIへのアクセスを制限

・サーバーサイドリダイレクト:ユーザーのロケールや権限に基づいてリダイレクトを実行

・パスの書き換え:レガシーパスやA/Bテスト用の動的パス変更。ボット検出:ボットトラフィックをブロック

・ログ記録と分析:ページ処理前にリクエストデータをキャプチャ。機能フラグ:特定の機能を動的に有効化または無効化

CVE-2025-29927の技術的な詳細は開示されており、PoCおよびその解説が公開されています。本脆弱性に対する攻撃はネットワーク経由でリモートから実行可能であり、特別な前提条件やユーザ操作が必要ありません。複数のセキュリティ ベンダーが CVE-2025-29927を悪用する初期の攻撃試行活動を観測しています。

実際の悪用

本脆弱性の悪用が以下考えられます。
・攻撃者が認可チェックを回避し、保護されたリソース(例:/adminや/dashboard)へアクセスする。
攻撃者は、x-middleware-subrequestヘッダーに特定の値を設定して、ミドルウェアの認証チェックを回避します。

x-middleware-subrequestヘッダーの例:

x-middleware-subrequest: middleware

x-middleware-subrequest:src/middleware:src/middleware:src/middleware:src/middleware:src/middleware

・キャッシュポイズニングやサービス拒否(DoS)攻撃

攻撃者が404エラーをキャッシュさせて(例えば、/admin/login ページが存在する前にアクセスするなど)、そのキャッシュがクリアされるまですべてのユーザーにとって重要なページへアクセスできなくなります。

影響範囲

影響を受けるバージョンは次のとおりです。
15.x:15.2.2以前

14.x:14.2.24以前

13.x:13.5.8以前

12.x:12.3.4以前

11.x:すべてのバージョン

推奨対策

次のように対応されることを推奨します。
・Next.jsフレームワークから認証を行うような処理が存在するかどうか確認。存在する場合は認証バイパスなどの問題が生じる可能性があるため直ちに更新
・上記ケースがない場合でも、今後攻撃によっては何らかの影響を受ける可能性が予想されるため、下記修正済バージョンに順次更新
15.x:15.2.3以降

14.x:14.2.25以降

13.x:13.5.9以降

12.x:12.3.5以降

11.x系には公式の修正が提供されていないため、アップグレードが推奨されます。
緩和策としては下記を検討してください。

・Webサーバーやリバースプロキシで x-middleware-subrequestヘッダーを外部からのリクエストで受け付けないように設定。
・アプリケーション内部でも認証・認可のチェックを実装。


インターネットセキュアサービス㈱(以下、ISS)が提供する脆弱性情報は、全ての脆弱性情報を対象にせず、ISSが次の基準で判断しています。
・インターネット上で悪用が確認されている脆弱性
・CVEスコアが低くても対応が必要と判断した脆弱性
・ISSが対応したインシデントの経験から危険性が高いと判断される脆弱性
なお、記載内容は全てを保証するものではありません。
ISSは、皆様のセキュリティ対策のお役に立つ情報を積極的に発信してまいります。