Next.js — это платформа React для создания полнофункциональных веб-приложений. В версиях с 12.0.0 по 15.5.20 и с 16.0.0 по 16.2.10
Правило rewrites() или redirects(), которое создает внешнее имя хоста назначения на основе входных данных, управляемых запросом, может указывать на произвольное имя хоста, независимо от суффикса имени хоста правила. При перезаписи Next.js передает запрос на этот произвольный хост и передает ответ от источника приложения, что приводит к подделке запроса на стороне сервера.
Правило redirects(), настроенное таким образом, уязвимо для открытого перенаправления. Эта проблема исправлена в версиях 15.5.21 и 16.2.11.
Показать оригинальное описание (EN)
Next.js is a React framework for building full-stack web applications. In versions 12.0.0 through 15.5.20 and 16.0.0 through 16.2.10, a rewrites() or redirects() rule that builds its external destination hostname from request-controlled input can be pointed at an arbitrary hostname, regardless of the rule's hostname suffix. For a rewrite, Next.js proxies the request to that arbitrary host and serves the response from the application's origin, leading to Server-Side Request forgery. A redirects() rule configured this way is vulnerable to an Open Redirect. This issue has been fixed in versions 15.5.21 and 16.2.11.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Vercel Next.Js
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*
|
12.0.0
|
15.5.21
|
|
Vercel Next.Js
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*
|
16.0.0
|
16.2.11
|