Next.js — это платформа React для создания полнофункциональных веб-приложений. Начиная с версии 16.0.1 и до версии 16.1.7, в `next dev`, межсайтовая защита для внутренних конечных точек веб-сокетов может рассматривать `Origin: null` как случай обхода, даже если настроен `allowedDevOrigins`, позволяя неожиданно подключаться к конфиденциальным/непрозрачным контекстам (например, изолированным документам). Если сервер разработки доступен из контента, контролируемого злоумышленником, злоумышленник может иметь возможность подключиться к каналу веб-сокета HMR и взаимодействовать с трафиком веб-сокета разработки.
Это влияет только на режим разработки. Приложения без настроенного `allowedDevOrigins` по-прежнему разрешают подключения из любого источника. Проблема устранена в версии 16.1.7 путем проверки «Происхождение: null» с помощью тех же межсайтовых проверок разрешения источника, которые используются для других источников.
Если обновление невозможно немедленно, не предоставляйте `next dev` ненадежным сетям и/или не блокируйте обновления веб-сокета до `/_next/webpack-hmr`, когда `Origin` имеет значение `null` на прокси-сервере.
Показать оригинальное описание (EN)
Next.js is a React framework for building full-stack web applications. Starting in version 16.0.1 and prior to version 16.1.7, in `next dev`, cross-site protection for internal websocket endpoints could treat `Origin: null` as a bypass case even if `allowedDevOrigins` is configured, allowing privacy-sensitive/opaque contexts (for example sandboxed documents) to connect unexpectedly. If a dev server is reachable from attacker-controlled content, an attacker may be able to connect to the HMR websocket channel and interact with dev websocket traffic. This affects development mode only. Apps without a configured `allowedDevOrigins` still allow connections from any origin. The issue is fixed in version 16.1.7 by validating `Origin: null` through the same cross-site origin-allowance checks used for other origins. If upgrading is not immediately possible, do not expose `next dev` to untrusted networks and/or block websocket upgrades to `/_next/webpack-hmr` when `Origin` is `null` at the proxy.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Vercel Next.Js
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*
|
16.0.1
|
16.1.7
|