Vercel исправил уязвимость Flags SDK CVE-2025-46332: что нужно знать

Уязвимость в Vercel Flags SDK, получившая идентификатор CVE-2025-46332, позволяла злоумышленникам получать метаданные функциональных флагов — их имена, описания, возможные значения и настройки по умолчанию. Проблема затрагивала библиотеки flags (до версии 3.2.0) и @vercel/flags (до версии 3.1.1) и б

Уязвимость в Vercel Flags SDK, получившая идентификатор CVE-2025-46332, позволяла злоумышленникам получать метаданные функциональных флагов — их имена, описания, возможные значения и настройки по умолчанию. Проблема затрагивала библиотеки flags (до версии 3.2.0) и @vercel/flags (до версии 3.1.1) и была связана с отсутствием ограничений на эндпоинт обнаружения флагов. Vercel уже выпустила патч и внедрила автоматическую защиту на уровне инфраструктуры. В этой статье разберём, что произошло, как уязвимость работает, кого она затрагивает и как защититься.

Уязвимость в Flags SDK: что произошло

Проблема крылась в эндпоинте обнаружения флагов, доступном по умолчанию по пути /.well-known/vercel/flags. В уязвимых версиях этот эндпоинт не требовал аутентификации. Если провайдеры флагов также не были защищены, злоумышленник мог отправить запрос и получить JSON-ответ со структурой всех флагов проекта. В ответ включались имена флагов, их описания, доступные варианты (например, true/false) и значения по умолчанию. Однако уязвимость не позволяла изменять флаги или получать доступ к пользовательским данным — только к метаданным.

Какие данные могли быть раскрыты?

Злоумышленник мог узнать, какие функции тестируются или разрабатываются, какие альтернативные варианты предусмотрены и какие значения установлены по умолчанию. Например, если в приложении есть флаг "new-checkout" с вариантами true/false и значением false, эта информация становилась доступной. Хотя это не критично для безопасности, такие сведения могут помочь в социальной инженерии или разведке перед более целенаправленной атакой.

Автоматическая защита и рекомендации Vercel

Vercel оперативно отреагировала, выпустив патч и автоматическую защиту на уровне инфраструктуры. Теперь доступ к эндпоинту /.well-known/vercel/flags блокируется для всех деплоев на платформе. Это защищает большинство пользователей без дополнительных действий. Однако если вы используете кастомные пути для эндпоинта обнаружения — например, через Pages Router в Next.js или в микрофронтендах — вам нужно настроить собственные правила WAF для ограничения доступа. Основная рекомендация — обновить библиотеки до версии flags@4.0.0 или мигрировать с @vercel/flags на flags. После обновления Flags Explorer будет отключён и покажет предупреждение до тех пор, пока не будет установлена последняя версия.

Как обновить зависимости?

Для обновления выполните команду в вашем проекте: npm install flags@latest или yarn add flags@latest. Если вы используете @vercel/flags, перейдите на пакет flags, следуя официальному руководству по миграции. После обновления проверьте, что эндпоинт обнаружения больше не доступен извне. Vercel рекомендует также проверить, не используются ли кастомные пути, и при необходимости добавить WAF-правила.

Технические подробности и сценарии эксплуатации

Уязвимость особенно актуальна для проектов, использующих Pages Router в Next.js. В этом случае оригинальный не-переписанный роут (например, /api/vercel/flags) мог оставаться доступным, даже если вы настроили кастомный путь. В микрофронтендах каждый отдельный сервис мог иметь свой эндпоинт обнаружения, что увеличивало поверхность атаки. Злоумышленнику нужно было знать путь к эндпоинту, но он часто документирован или легко угадывается.

Почему это важно для безопасности?

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

Кого затронет и как

Уязвимость затрагивает разработчиков, использующих Vercel Flags SDK версий ниже 4.0.0. Особенно подвержены риску проекты с публично доступными провайдерами флагов — например, без токенов аутентификации. Разработчики могут неосознанно раскрывать внутреннюю структуру флагов, что облегчает социальную инженерию или разведку. Для бизнеса это означает потенциальную утечку информации о планах развития продукта. В России и СНГ использование Vercel менее распространено, но команды, работающие с этой платформой, должны обратить внимание на обновление.

Что делать, если вы используете Vercel Flags SDK?

Немедленно обновите зависимости до версии flags@4.0.0. Проверьте, не используются ли кастомные пути для эндпоинта обнаружения, и при необходимости настройте WAF-правила. После обновления Flags Explorer будет отключён до тех пор, пока не будет установлена последняя версия — это временное неудобство, но необходимая мера безопасности. Следите за официальным руководством по обновлению от Vercel.

Что будет дальше

Vercel уже выпустила патч и автоматическую защиту. Пользователям рекомендуется немедленно обновиться до flags@4.0.0. Flags Explorer будет отключён до обновления, что может временно затруднить разработку, но это необходимая мера безопасности. В будущем Vercel, вероятно, усилит проверки безопасности для подобных эндпоинтов. Разработчикам стоит следить за обновлениями в официальном руководстве по обновлению.

Итог

Уязвимость CVE-2025-46332 в Vercel Flags SDK раскрывала метаданные функциональных флагов, но не позволяла их изменять. Vercel оперативно выпустила патч и автоматическую защиту. Разработчикам необходимо обновиться до версии 4.0.0, чтобы устранить проблему и продолжить безопасное использование Flags SDK. Своевременное обновление — ключ к защите вашего приложения и данных.