Уязвимость CSRF в Server Actions React Router / Remix (CVE-2026-22030)
Что произошло
- Команды React Router / Remix runtime опубликовали уведомление о безопасности (CVE-2026-22030 / GHSA-h5cw-625j-3rxh), описывающее уязвимость к подделке межсайтовых запросов (CSRF) / ошибку в проверке источника, которую можно вызвать с помощью POST-запросов документа при использовании обработчиков действий маршрутов на стороне сервера в режиме Framework или при использовании экспериментальных действий сервера React. Проблема оценена как умеренная (CVSS 6.5). Исправленные версии доступны. (github.com)
Почему это важно для полностековых команд
- Действия маршрутов на стороне сервера и действия сервера React выполняют или запускают серверную логику непосредственно из маршрутов пользовательского интерфейса. Уязвимость CSRF в этом пути обработки запросов позволяет злоумышленнику с аутентифицированной жертвой вызвать нежелательные изменения состояния (например: изменить данные, выполнить транзакции или изменить настройки), заставив жертву загрузить вредоносную страницу, которая отправляет POST-запрос в ваше приложение.
- Команды, использующие режим Framework, Remix v2 или нестабильные функции RSC/Server Action, являются основной группой риска — приложения, использующие декларативный режим (
) или режим данных (createBrowserRouter/RouterProvider), не подвержены воздействию согласно уведомлению. (github.com)
Немедленные действия (по приоритету)
- Обновите зависимости сейчас
- Обновите @remix-run/server-runtime до >= 2.17.3 и react-router до >= 7.12.0 в любых проектах, которые используют режим Framework или Server Actions. Обращайтесь с этим как с любой другой исправлением безопасности зависимости: запускайте тесты и развертывайте, как только CI даст зеленый свет. (github.com)
- Определите затронутые пути кода
- Проверьте маршруты, которые экспонируют обработчики
actionна стороне сервера, серверные функции или экспериментальные действия сервера. Сосредоточьтесь на любых конечных точках POST, которые принимают данные формы или изменяют состояние.
- Проверьте маршруты, которые экспонируют обработчики
- Примените меры смягчения на уровне выполнения, пока все сервисы не будут исправлены
- Требуйте явные защиты от CSRF для затронутых конечных точек (токены CSRF, куки SameSite=strict для сессионных куки, проверки источника/реферера) и предпочитайте конечные точки, изменяющие состояние, которые требуют явного заголовка или токена, который браузеры не отправят автоматически.
- CI / гигиена зависимостей
- Убедитесь, что сканирование зависимостей (npm audit, Snyk, обновления безопасности Dependabot/GitHub Dependabot) активно и автоматически создаёт PR для этого уведомления; фиксируйте и тестируйте транзитивные обновления в тестовой среде перед развертыванием в производственной.
Обнаружение и проверка
- Инвентаризация: выполните проверки зависимостей (npm ls @remix-run/server-runtime react-router или эквивалент в других менеджерах пакетов) по всем репозиториям и конвейерам сборки.
- Проверки на уровне выполнения: ищите неожиданные POST-запросы к маршрутам пользовательского интерфейса в журналах доступа и межсетевых экранах веб-приложений; убедитесь, что запросы, изменяющие состояние, требуют либо проверенного токена CSRF, либо явного API-заголовка, отсутствующего в автоматических межсайтовых отправках форм.
- Тесты: добавьте интеграционные тесты, имитирующие попытки CSRF против конечных точек действий (отсутствующий токен, неправильный источник), чтобы предотвратить регрессии.
Долгосрочные меры смягчения и лучшие практики
- Предпочитайте явные API-маршруты для изменений состояния: по возможности отделяйте маршрутизацию пользовательского интерфейса от конечных точек мутации и требуйте токены CSRF или токены носителей для конечных точек мутации.
- Укрепите использование действий сервера: избегайте включения нестабильных функций RSC/Server Action в производственной среде, пока не сможете полностью оценить модель безопасности или пока вышестоящие проекты не отметят их как стабильные с укрепленной проверкой запросов.
- Автоматизируйте: блокируйте слияние обновлений зависимостей без автоматического покрытия тестами для обработчиков на стороне сервера и рассмотрите возможность использования флагов функций на уровне выполнения, которые по умолчанию отключают экспериментальные серверные функции.
Резюме CVE-2026-22030 является практической уязвимостью CSRF/ошибки проверки источника в обработке действий на стороне сервера, используемой средами React Router / Remix. Если ваш стек использует режим Framework или нестабильный путь Server Actions, немедленно обновите до исправленных версий среды выполнения, проверьте затронутые конечные точки и добавьте защиты CSRF/Origin по мере необходимости. (github.com)
Источник: Уведомление о безопасности GitHub — GHSA-h5cw-625j-3rxh (React Router / @remix-run/server-runtime). (github.com)
Источник
Читать дальше
Изменения в FedCM в Chrome 143: структурированные утверждения ID, более строгие метаданные клиента и обновления API
31 января 2026 г.Chrome 143 (опубликован 12 января 2026 года) изменяет поток идентификации FedCM: токены утверждения ID могут быть структурированным JSON, проверка client_metadata становится обязательной, и несколько полей API перемещаются/переименовываются — требуется миграция перед Chrome 145.
Undici CVE-2026-22036: неограниченная цепочка декомпрессии приводит к исчерпанию ресурсов — выпущены патчи
30 января 2026 г.14 января 2026 года в уведомлении о безопасности для undici (HTTP-клиент Node.js) описывается уязвимость неограниченной цепочки декомпрессии, которая может привести к высокому использованию CPU и памяти. Команды полного стека должны найти и обновить затронутые версии undici и добавить легкие защитные меры на уровне выполнения.
GitHub Actions 1‑vCPU Linux Runner теперь доступен для общего пользования
28 января 2026 г.GitHub представил новый недорогой контейнеризированный 1‑vCPU Linux runner (ubuntu-slim), который теперь доступен в GitHub Actions — что должны знать и делать в первую очередь команды полного стека.