Vercel исправила две критические RCE-уязвимости в Next.js

Vercel выпустила Next.js 15.5.24 и 16.3.3, закрывающие две критические уязвимости, которые могут привести к удалённому выполнению кода без аутентификации. Одна из них связана с обработкой AVIF-изображений и получила CVSS v4 9,5, другая — с обходом путей на серверах с файловой системой Windows и имеет оценку CVSS 9,0.
Проблема Windows-зависимых развёртываний
Уязвимость обхода путей зарегистрирована как CVE-2026-75604. Она затрагивает приложения Next.js, использующие одновременно Pages Router и App Router без Cache Components, если сервер работает с файловой системой Windows.
Подвержены версии Next.js от 13.4 до 15.5.23 и от 16.0 до 16.3.2. Vercel не раскрыла технический механизм атаки, но предупредила, что для затронутых приложений на Windows обходного решения нет. Развёртывания на Linux и macOS этой проблеме не подвержены.
Исправления доступны в ветках 15.5.24 Maintenance LTS и 16.3.3 Active LTS. Для самостоятельно размещённых сервисов Vercel рекомендует немедленно обновить пакет: соответственно до next@15.5.24 или next@16.3.3.
Почему опасна обработка AVIF
Вторая проблема находится в цепочке оптимизации изображений. Next.js использует пакет sharp, который для разбора AVIF обращается к библиотеке libheif. Переполнение буфера в куче в коде масштабирования libheif может быть вызвано специально подготовленным AVIF-файлом.
Ошибка libheif описана в GHSA-g89c-p67h-r497 и затрагивает версии библиотеки до 1.23.1 включительно. При определённой структуре ссылок внутри изображения декодер создаёт два Alpha-слоя с разной глубиной цвета. Масштабировщик выделяет память по параметрам первого 8-битного слоя, а затем записывает в тот же буфер 16-битные значения второго, выходя примерно на 16 384 байта за его границы.
Консультатив Next.js по этой проблеме имеет идентификатор GHSA-2xp9-vwfh-vxw4. Риск касается версий Next.js с 10.0.0 по 15.5.23 и всех выпусков 16.x до 16.3.2, но только при явном включении image/avif в параметре formats файла next.config.js. Если AVIF-оптимизация не настроена, приложение не эксплуатирует этот путь обработки.
Что изменено и что проверить
В исправленных релизах Next.js AVIF-оптимизация отключена до поступления исправления из libheif. На 27 августа версия libheif 1.23.2 ещё не была опубликована. Исследователи выпустили Python-доказательство концепции, демонстрирующее повреждение памяти; их заявление о достижении RCE в нескольких приложениях независимо не подтверждалось.
Vercel сообщила, что приложения, размещённые на её платформе, уже защищены от обеих уязвимостей и обновления со стороны клиента не требуют. Компания перенесла плановый августовский выпуск патчей на день раньше после выявления дополнительной критической проблемы в одной из зависимостей.
Для бизнеса практический порядок действий — инвентаризировать версии Next.js и операционные системы хостов, отдельно проверить наличие AVIF в конфигурации оптимизации изображений и обновить самостоятельно размещённые приложения до 15.5.24 или 16.3.3. Даже организации, установившие июльские патчи Next.js, должны применить августовское обновление.

