🔴 Полный разъёб! Один обратный слеш — и Next.js-сервер выполняет команды: критическая RCE на Windows
CVE-2026-75604 | CVSS 9.0 | CWE-22 | аутентификация не требуетсяВ Next.js обнаружена критическая уязвимость, позволяющая удалённому атакующему без учётной записи выполнить произвольный код на Windows-сервере. Проблема находится в файловом кеше фреймворка и проявляется в приложениях, одновременно использующих Pages Router и App Router без Cache Components.
Корневая причина — различие в обработке путей. Next.js экранировал
/,
# и
?, но не учитывал литеральный обратный слеш
\. Для Linux это обычный символ имени файла, а Windows воспринимает его как разделитель каталогов. В результате последовательности с
..\ могли выйти за пределы каталога incremental cache и обратиться к внутренним build-файлам.
Опубликованная цепочка выглядит так:
cache path traversal → чтение server-reference-manifest.json → утечка AES-ключа Server Actions → подделка bound arguments → React Flight gadget → выполнение JavaScript в Node.js → запуск команды ОСОсобенно опасна утечка
.next/server/server-reference-manifest.json. В этом файле находится
encryptionKey, которым Next.js защищает замкнутые переменные Server Actions. Получив ключ и идентификатор подходящего closure-bound Server Action из HTML-формы, атакующий может сформировать корректно зашифрованные аргументы и заставить сервер обработать их как доверенные данные.
Для эксплуатации требуется сочетание условий:
- Next.js работает непосредственно на Windows;
- используются Pages Router и App Router;
- Cache Components не включены;
- используется стандартный файловый кеш;
- доступны динамический ISR-маршрут Pages Router и кешируемый App Router route;
- в приложении присутствует совместимый closure-bound Server Action.
Уязвимые версии:
- Next.js
>= 13.4 и
< 15.5.24;
- Next.js
>= 16.0 и
< 16.3.3.
Исправлено в
15.5.24 и
16.3.3. Vercel сообщает, что надёжного workaround нет: Windows-развёртывания необходимо обновить и заново собрать приложение.
Для поиска попыток эксплуатации стоит проверить необработанные HTTP-пути на
%5C,
..%5C и обращения к
/_next/data/, а также коррелировать их с необычными POST-запросами к Server Actions. На уровне хоста критичны дочерние процессы
cmd.exe или PowerShell, запущенные от
node.exe, и неожиданные исходящие соединения процесса Next.js.
Расширенное объяснение:
https://eh.su/reports/cve-2026-75604-unauthenticated-rce-v-next-js-cherez-windows-path-traversal-i-server-actions#editor#NextJS #CVE202675604 #RCE #PathTraversal #ServerActions #React #NodeJS #AppSec #CyberSecurity