
Проверка и исправление всех 13 уязвимостей в выпуске безопасности Next.js за май 2026 года (CVE-2026-23870)
CLI-инструмент для проверки и исправления всех 13 уязвимостей из релиза безопасности Next.js за май 2026 года, включая CVE-2026-23870 (DoS в React Server Components).
# Интерактивный режим (рекомендуется)
npx @emstack/nextjs-cve-2026-23870-checker
# Проверка проекта
npx @emstack/nextjs-cve-2026-23870-checker ~/my-app
# Исправление
npx @emstack/nextjs-cve-2026-23870-checker ~/my-app --fix
| ID | Серьезность | Описание |
|---|
| GHSA-8h8q-6873-q5fj | Высокая | CVE-2026-23870 — DoS в React Server Components |
| GHSA-267c-6grr-h53f | Высокая | Обход авторизации URL через segment-prefetch в App Router |
| GHSA-26hh-7cqf-hhc6 | Высокая | Неполное исправление после обхода segment-prefetch |
| GHSA-36qx-fr4f-26g5 | Высокая | Путь локали по умолчанию i18n обходит авторизацию прокси |
| GHSA-492v-c6pp-mqqv | Высокая | Инъекция параметра динамического маршрута позволяет обход |
| GHSA-mg66-mrh9-m8jx | Высокая | Истощение соединений, влияющее на Cache Components |
| GHSA-c4j6-fc7j-m34r | Высокая | SSRF через запрос обновления WebSocket |
| GHSA-h64f-5h5j-jqjh | Умеренная | Эксплуатация API оптимизации изображений (DoS) |
| GHSA-wfc6-r584-vfw7 | Умеренная | Отравление ответов RSC (кэш) |
| GHSA-ffhc-5mcf-pf4q | Умеренная | Утечка nonce CSP в App Router |
| GHSA-gx5p-jg67-6x7h | Умеренная | XSS через недоверенный ввод в скриптах beforeInteractive |
| GHSA-3g8h-86w9-wvmq | Низкая | Отравление кэша через перенаправления middleware |
| GHSA-vfv6-92ff-j949 | Низкая | Уязвимость коллизий при сбросе кэша |
| Пакет | Уязвимая версия | Исправленная версия |
|---|---|---|
next 13.x, 14.x | Все версии | Обновление до 15.5.18 или 16.2.6 |
next 15.x | ≤ 15.5.17 | 15.5.18 |
next 16.x | ≤ 16.2.5 | 16.2.6 |
react-server-dom-* 19.0.x | ≤ 19.0.5 | 19.0.6 |
react-server-dom-* 19.1.x | ≤ 19.1.6 | 19.1.7 |
react-server-dom-* 19.2.x | ≤ 19.2.5 | 19.2.6 |
Проверяемые пакеты react-server-dom-*: webpack, turbopack, bun, esm, deno.
Примечание: Патчинг является единственным полным средством защиты. Защита на уровне WAF для этих уязвимостей недоступна.
Запускается по умолчанию, если не указаны аргументы. Обходит корневую директорию для обнаружения проектов Next.js, позволяет выбрать, какие из них сканировать, и опционально применяет исправления.
npx @emstack/nextjs-cve-2026-23870-checker
npx @emstack/nextjs-cve-2026-23870-checker -i
npx @emstack/nextjs-cve-2026-23870-checker /path/to/your/nextjs-app
Завершается с кодом 1, если найдены уязвимости — CI-безопасно.
npx @emstack/nextjs-cve-2026-23870-checker ~/app1 ~/app2 ~/app3
Выводит отчёт по каждому проекту и итоговую строку в конце.
npx @emstack/nextjs-cve-2026-23870-checker ~/my-app --dry-run
Обновляет package.json и запускает соответствующую команду установки (bun, pnpm, yarn или npm — автоматически определяется по lockfile).
npx @emstack/nextjs-cve-2026-23870-checker ~/my-app --fix
# Исправление нескольких проектов одновременно
npx @emstack/nextjs-cve-2026-23870-checker ~/app1 ~/app2 --fix
npx @emstack/nextjs-cve-2026-23870-checker ~/my-app --json
Usage:
npx @emstack/nextjs-cve-2026-23870-checker [path...] [options]
Arguments:
path Project path(s) to scan (default: .)
Options:
-i, --interactive Interactive mode (default when no args given)
--fix Update package.json and run install
--dry-run Show what would change without writing files
--json Output results as JSON
--help, -h Show this help
bun install
bun run dev /path/to/your/nextjs-app
bun run build # produces dist/cli.js
Next.js May 2026 Security Release — 13 advisories
Scanning: /my-app
✗ Found 2 vulnerable package(s):
next
Installed: ^15.3.0 → Fix: 15.5.18
Advisories (13):
[High] [CVE-2026-23870] GHSA-8h8q-6873-q5fj — DoS in React Server Components
[High] GHSA-267c-6grr-h53f — Segment-prefetch URL authorization bypass in App Router
...
react-server-dom-webpack
Installed: ^19.1.5 → Fix: 19.1.7
Advisories (2):
[High] [CVE-2026-23870] GHSA-8h8q-6873-q5fj — DoS in React Server Components
[Moderate] GHSA-wfc6-r584-vfw7 — RSC response poisoning (cache)
Patching is the only complete mitigation. WAF-level protection unavailable.
Source: https://vercel.com/changelog/next-js-may-2026-security-release
Run with --fix to update package.json and install patched versions.
MIT