Next.js допускает удалённое выполнение кода через AVIF и на Windows-серверах

Next.js

Платформа Next.js, популярный React-фреймворк для создания веб-приложений, содержит две критические уязвимости, позволяющие злоумышленнику выполнить произвольный код на сервере. Первая связана с обработкой файлов формата AVIF в компоненте оптимизации изображений, вторая проявляется на серверах под управлением Windows и относится к категории Path Traversal - некорректному ограничению пути к файловой системе. Обе проблемы исправлены в актуальных версиях Next.js.

Детали уязвимостей

Уязвимость CVE-2026-75604 затрагивает приложения, которые используют маршрутизаторы Pages и App без Cache Component. Она возникает только в среде Windows, где особенности файловой системы позволяют обойти проверки пути. Злоумышленник может отправить специально сформированный запрос, чтобы выйти за пределы разрешённых директорий и в конечном счёте выполнить команды на сервере. Атака проводится удалённо, не требует аутентификации и может привести к полному захвату приложения. По шкале CVSS v3.1 эта уязвимость оценена в 9,3 балла из 10.

Вторая уязвимость связана с библиотекой libheif, которую Next.js использует для оптимизации изображений AVIF. Из-за ошибки в этой библиотеке вредоносный медиафайл, загруженный на сервер, может спровоцировать выполнение кода в контексте приложения. Проблема затрагивает версии Next.js от 10.0.0 до 15.5.24, а также версии 16.x до 16.3.3. На момент публикации для этой уязвимости не назначен идентификатор CVE, однако разработчики уже выпустили исправление. CVSS v4.0 оценивает опасность в максимальные 10 баллов.

Обе проблемы считаются критическими, поскольку не требуют взаимодействия с пользователем и эксплуатируются удалённо. Для атаки через AVIF достаточно, чтобы приложение обработало вредоносный файл, например, при загрузке пользователем изображения. Для атаки на Windows-серверах достаточно отправить HTTP-запрос к уязвимому маршруту. Отсутствие необходимости в аутентификации делает обе уязвимости привлекательными для массовых автоматизированных атак.

Разработчики из Vercel подготовили исправленные версии Next.js 15.5.24 и 16.3.3. Для уязвимости, связанной с AVIF, компания временно отключила оптимизацию этого формата, пока обновление не распространится на все пользователи. Это частично снижает риск для тех, кто не может сразу обновиться. Для проблемы на Windows-серверах обходных мер не существует, поэтому владельцам таких систем рекомендуется немедленно установить обновление.

Важно учитывать, что Next.js используется на огромном количестве сайтов, включая крупные коммерческие проекты. Уязвимость в оптимизации изображений потенциально затрагивает всех, кто принимает загрузку файлов, а проблема Windows-хостинга - значительную долю корпоративных развёртываний. Хотя сообщений о реальной эксплуатации этих уязвимостей пока нет, их техническая простота и высокий уровень воздействия делают выпуск эксплойтов лишь вопросом времени.

Пользователям Next.js необходимо проверить используемую версию и обновиться до одной из исправленных. Если обновление невозможно, для защиты от AVIF-атаки можно отключить компонент оптимизации изображений или ограничить загрузку медиафайлов. Для Windows-серверов единственным надёжным решением остаётся переход на актуальную версию. Дополнительно стоит ограничить сетевой доступ к серверу и настроить мониторинг аномальных запросов.

Эти находки показывают, что даже зрелые и активно поддерживаемые фреймворки могут содержать серьёзные ошибки в периферийных компонентах, таких как обработка изображений и работа с файловой системой. Особое внимание стоит уделять библиотекам, которые подключаются для выполнения вспомогательных функций, поскольку именно они часто становятся источником критических уязвимостей. Для Next.js текущий инцидент - напоминание о том, что безопасность включает не только основной код, но и всю цепочку зависимостей.

Ссылки

Комментарии: 0