Разработчики Next.js из компании Vercel объявили о переходе на формальную программу регулярных релизов безопасности. Первое такое обновление запланировано на 20 июля 2022 года. Оно будет включать исправления для версий Next.js 16.2 и 15.5 и закроет девять уязвимостей, из которых четыре имеют высокий уровень серьезности, а пять - средний. Это первый случай, когда команда проекта заранее уведомляет сообщество о сроках выхода патчей.
Ранее исправления безопасности для Next.js публиковались без предварительного анонса - в формате внеплановых выпусков. Такой подход создавал неудобства для разработчиков и администраторов: командам приходилось реагировать на обновления в сжатые сроки, не имея возможности заранее спланировать развертывание. Новая инициатива призвана упростить процесс управления обновлениями. Отныне примерно раз в месяц на официальном блоге Next.js будет публиковаться уведомление о предстоящем релизе безопасности. В нем будут указаны дата выхода и максимальный уровень серьезности исправляемых проблем.
Такая практика уже стала стандартом для многих крупных проектов с открытым исходным кодом. Vercel намерена координировать выпуск патчей с хостинг-провайдерами и другими партнерами по платформе. Это позволит заранее развернуть защитные меры, например правила межсетевого экрана, которые снизят риск для систем, еще не получивших исправление. Подробности о самих уязвимостях - включая идентификаторы CVE (стандартные обозначения уязвимостей) и описание затронутых путей кода - будут опубликованы уже после выхода патчей, в отдельном сообщении. Как указано в заявлении Vercel, задержка раскрытия деталей дает время пользователям и платформам подготовить средства защиты до того, как техническая информация станет доступна злоумышленникам.
Новый регламент не отменяет возможность экстренных выпусков. Vercel продолжит публиковать внеплановые исправления для уязвимостей, которые уже активно эксплуатируются, представляют особую опасность или не могут дожидаться очередного планового релиза. О таких случаях будут сообщать через блог Next.js, как это уже делалось, например, при раскрытии проблемы React2Shell и в ходе последующего расследования.
Изменение подхода вызвано общим ростом числа выявляемых уязвимостей в индустрии, во многом благодаря применению больших языковых моделей (LLM) для анализа кода. Vercel приводит пример Mozilla, которая в одном из выпусков Firefox устранила 271 проблему, обнаруженную с помощью системы Anthropic Mythos Preview. В Next.js для поиска уязвимостей используются схожие инструменты - собственный проект deepsec, внутренние исследования и расширенная программа вознаграждения за обнаружение ошибок. Благодаря этому больше проблем обнаруживается до того, как их успевают найти злоумышленники.
Организациям, эксплуатирующим интернет-ориентированные приложения на Next.js, следует рассматривать июльский релиз как приоритетное обновление из-за наличия уязвимостей высокого уровня серьезности. Командам по безопасности необходимо провести инвентаризацию внешних систем, выявить развертывания на версиях 16.2 и 15.5, подготовить тестирование обновлений и пересмотреть покрытие межсетевым экраном, а также правила мониторинга. После выхода патчей администраторам потребуется обновить зависимости приложений, пересобрать развертывания и заново развернуть затронутые сервисы. Следует убедиться, что файлы блокировки зависимостей (например, package-lock.json) и контейнерные образы ссылаются на исправленные версии пакетов.
Новый регламент свидетельствует о зрелости проекта Next.js и его адаптации к современным реалиям управления безопасностью. Переход на предсказуемое расписание выпуска патчей позволяет разработчикам и администраторам заранее планировать работы по обновлению, снижая вероятность простоев и инцидентов. При этом сохранение возможности экстренных исправлений гарантирует оперативную реакцию на активные угрозы. Командам, использующим устаревшие или неподдерживаемые версии, придется сначала обновиться до одной из актуальных веток - 16.2 или 15.5 - чтобы получить доступ к исправлениям. Исследователи могут сообщать о найденных уязвимостях в рамках программы Vercel через платформу HackerOne.