Реагируйте — TAdviser

22.4 т Next.js — фреймворк для разработки веб-приложений на базе React. Компоненты React используются для построения пользовательских интерфейсов, а Next.js — для реализации на сервере поддержки дополнительных функций и оптимизации. Однако при возможности неавторизованной десерилизации получаемых пакетов этот компонент дает нападающим возможность быстрого захвата платформы Next.js и выполнения на ней любого постороннего кода. React широко применяется в российских компаниях, но уязвимость затрагивает узкий сегмент – проекты с RSC, используемые в современных фреймворках вроде Next.js (App Router), – пояснила TAdviser ситуацию Екатерина Едемская, инженер-аналитик компании « Газинформсервис ». – Большинство организаций задействуют React только на клиенте или применяют устаревшие архитектуры (Pages Router), оставаясь в безопасности. Риск концентрируется в крупных ИТ-проектах, финтехе и стартапах, активно внедряющих RSC. Как пишут [2] исследователи компании « СайберОК », уязвимость позволяет злоумышленнику удалённо выполнить код до аутентификации . Проблема в том как React обрабатывает входящие запросы к серверным функциям (Server Function). Оказалось, что Next.js десериализует данные без достаточной валидации, что позволяет атакующему выполнить произвольный JavaScript на сервере. Такая уязвимость относится к классу восстановления в памяти недостоверных данных (CWE-502). Она присутствует в функции requireModule() пакетов react-server-dom-webpack, react-server-dom-parcel и react-server-dom-turbopack – их использование и нужно проверить, чтобы исключить эксплуатацию данного дефекта. Уязвимость позволяет неавторизованному злоумышленнику, знакомому с API серверной части React-приложения, сформировать специальный запрос с вредоносной нагрузкой, – пояснил для читателей TAdviser Константин Горбунов, веб-разработчик компании « Код Безопасности ». – В результате существует возможность выполнения произвольного кода на целевом сервере удалённо. Данная уязвимость потенциально может быть использована для массового заражения. По данным системы СКИПА , в Рунете и соседних регионах наблюдается более 40 тыс. подключенных к интернет серверов со стеком React RSC / Next.js. Причем, исследование Wiz Research показывает [3] , что уязвимые версии React/Next.js обнаружены примерно в 39% облачных окружений. Уязвимость даже получила собственное наименование – React4Shell. Разработчики выпустили обновления для своего программного обеспечения – ошибка исправлена в версии 19.0.1. Несмотря на то что серверные сборки используются реже, чем классические клиентские библиотеки, они постепенно набирают популярность в крупных продуктовых командах и интеграционных проектах, – заметил для TAdviser Михаил Тимаев, руководитель отдела технического пресейла IT Task . – Поэтому вероятность того, что уязвимые пакеты присутствуют в боевой инфраструктуре, достаточно высока. Александр Колесов, руководитель направления развития и исследований « Бастион », отметил, что нельзя просто так взять и проэксплуатировать уязвимость. Она будет выполняться, только если приложение ожидает параметры и десериализует получаемые от них данные. Если такой обработки нет, то использовать уязвимость невозможно. Таким образом, если приложение содержит серверную логику, то выполнение кода доступно, а если же используется только клиентская часть платформы React, то – нет. С момента выпуска обновления до публикации информации об уязвимости прошло около двух месяцев, что является критически малым сроком, – считает Александр Колесов. – Можно полагать, что большое количество владельцев не успели установить обновление и остаются уязвимыми. В целом эксплойт к данной уязвимости написали достаточно быстро, причем сразу для полной эксплуатации. Это позволяет злоумышленникам сделать выборку уязвимых узлов в различных системах, например, с помощью поисковика shodan, и проводить массовые эксплуатации. Для защиты от печальных последствий пользователям серверной части платформы React специалисты ФСТЭК рекомендуют оперативно установить безопасные версии серверных компонент. Однако в некоторых случаях подобное решение может быть недоступно, тогда придется использовать другие методы защиты от эксплуатации данной уязвимости. На уровне периметра важно использовать WAF для фильтрации аномального трафика и сигнатур атак, а также ограничивать доступ к чувствительным сервисам по «белым спискам», – рекомендует читателям TAdviser Кирилл Лёвкин, проджект-менеджер MD Audit . – Внутри инфраструктуры необходимы SIEM и системы обнаружения вторжений для оперативного выявления попыток эксплуатации. Дополнительно стоит минимизировать права сервисных учетных записей, изолировать серверные компоненты в контейнерах и сегментировать сеть – это снижает ущерб даже при успешной атаке. Примечания Source: https://www.tadviser.ru/index.php/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82:React