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

Для тех, у кого Next.js крутится на проде, это прямой сигнал — апдейт прилетит вне обычного графика, и откладывать его нельзя.
Что вообще происходит
Upstream-уязвимости — боль фронтенд-разработчика с первого дня npm. Где-то в дереве зависимостей находят дыру, через которую можно выполнить чужой код, увести токены или прочитать то, что читать не положено. Next.js как фреймворк поверх React тащит за собой целую пачку транзитивных пакетов, и если в одном из них находится уязвимость — под раздачу попадают все, кто не замёрджил фикс вовремя.
Цепочка обычно одна и та же: ресерчер публикует advisory, апстрим молча коммитит патч, через пару недель запись появляется в публичных CVE-базах. К этому моменту PoC уже могут гулять по открытым репозиториям. Внеплановый патч от мейнтейнеров — это, по сути, крик «обновитесь, пока не прилетело». Тот самый момент, когда очередной костыль на старой версии превращается в боевую проблему.
Что делать прямо сейчас
Для начала — чекаем версию Next.js в проде через npm ls next или pnpm why next. Дальше по списку:
1. На стейдже развернуть патч-кандидат первым — до того, как его увидит основной трафик.
2. Проверить дерево зависимостей на предмет подозрительных либ уровня parse, terser, cross-fetch — они исторически любят ломать чужие сборки.
3. Перед деплоем — бэкап node_modules, .next и базы. Rollback с упавшего прода ещё никого не радовал.
4. Поставить мониторинг на аномальные запросы к внутренним роутам — особенно если наружу торчат серверные экшены.
Безопасность — штука сквозная. Пока в Стамбуле проходила конференция IATA по безопасности полетов, у нас в репах патчились зависимости в три часа ночи. Приоритеты разные, принцип один — лучше починить заранее, чем потом разгребать инцидент.
Что отслеживать
— Блог nextjs.org и GitHub-репозиторий — там появится changelog с описанием закрытых уязвимостей сразу после релиза.
— Реестр CVE — если хочется точно понимать, что именно прилетело (SSRF, path traversal, prototype pollution — стандартный набор).
— Discord-чат Next.js — там обычно быстрее всего подтверждают проблемы, если при обновлении что-то идёт не так.
Главное — не геройствовать и не сидеть на старой версии до последнего. Upstream-уязвимости не любят откладывания. Бэкапы, кстати, тоже.