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
