React

Продукт
Разработчики: Facebook Ireland
Отрасли: Интернет-сервисы
Технологии: CMS - Системы управления контентом,  Средства разработки приложений

Содержание

React (иногда React.js или ReactJS) — JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов, то есть фронтенд-части веб-сайтов и приложений. Разработана компанией Facebook в 2013 году. Фактически является одним из элементов стека для построения динамических веб-приложений

Первоначальная цель ее разработки — упростить создание сложных интерфейсов, обеспечить высокую производительность и предсказуемое поведение. React — библиотека, а не полноценный фреймворк, отвечает в первую очередь за динамическое отображение информации. Для маршрутизации, работы с серверной логикой, управления состоянием приложения на уровне проекта необходимы дополнительные библиотеки по выбору разработчика.

История

2025: В популярной JavaScript-библиотеке для разработки пользовательских интерфейсов обнаружена опасная «дыра»

ФСТЭК в начале декабря разослала предупреждение об обнаружении критической уязвимости BDU:2025-15156[1] в JavaScript-библиотеке с открытым исходным кодом для разработки пользовательских интерфейсов React. Уязвимость имеет наивысший уровень опасности по CVSS версии 3 – 10. Связана она с серверным JavaScript-элементом платформы Next.js. Для ошибки уже опубликован эксплойт в открытом виде, что может привести к массовой эксплуатации уязвимости. Владельцам веб-приложений, на сайтах которых используются интерфейсы на базе React и Next.js, рекомендуется максимально быстро перейти на их новую версию.

React4Shell позволяет полностью захватывать серверы, где установлен Next.js

React позволяет создавать динамические и отзывчивые веб-приложения. в нем используется декларативный подход в программировании: разработчик при создании кода указывает, как должен себя повести интерфейс при получении определённых данных или наступлении событий, а библиотека самостоятельно обновляет элементы, ориентируясь на эти указания. Задача программиста — грамотно описать их. Уязвимым является серверный компонент платформы React Server Components (RSC). Он позволяет клиентскому приложению отправлять специальные сериализованные данные на сервер для вызова Server Functions с помощью модуля Next.js.

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 и системы обнаружения вторжений для оперативного выявления попыток эксплуатации. Дополнительно стоит минимизировать права сервисных учетных записей, изолировать серверные компоненты в контейнерах и сегментировать сеть – это снижает ущерб даже при успешной атаке.
»

Примечания



Подрядчики-лидеры по количеству проектов

За всю историю
2023 год
2024 год
2025 год

  Системы КлиК (ранее BMicro, БМикро) (107)
  Extyl (Экстил) (95)
  Факт (ЦИТ Факт, Центр интернет-технологий Факт) (47)
  Контек (Conteq) (28)
  Корус Консалтинг (27)
  Другие (338)

  Extyl (Экстил) (21)
  RDN Group (РДН Групп) (6)
  Факт (ЦИТ Факт, Центр интернет-технологий Факт) (4)
  Sellty (Селти) (3)
  Первый Бит (3)
  Другие (10)

  Extyl (Экстил) (8)
  Первый Бит (6)
  RDN Group (РДН Групп) (5)
  Ёлва (Yolva) (5)
  MCArt (Эм Си Арт) (2)
  Другие (16)

  RDN Group (РДН Групп) (3)
  Корус Консалтинг (3)
  Первый Бит (3)
  1С-Битрикс (3)
  Ёлва (Yolva) (2)
  Другие (14)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2023 год
2024 год
2025 год

  1С-Битрикс (8, 313)
  Системы КлиК (ранее BMicro, БМикро) (1, 111)
  Microsoft (8, 70)
  IBM (4, 29)
  Контек (Conteq) (2, 18)
  Другие (190, 93)

  1С-Битрикс (2, 42)
  Sellty (Селти) (1, 3)
  БизнесАвтоматика НПЦ (1, 1)
  Telerik (1, 1)
  Другие (0, 0)

  1С-Битрикс (2, 37)
  Agora (1, 1)
  VK (ранее Mail.ru Group) (1, 1)
  Форктек (Fork-Tech) (1, 1)
  MTS Web Services, MWS (МТС Веб Сервисы, МВС) (1, 1)
  Другие (1, 1)

  1С-Битрикс (2, 18)
  Eventicious (Ивентишес) (1, 2)
  БизнесАвтоматика НПЦ (1, 2)
  Telerik (1, 1)
  РТК ИТ Плюс (1, 1)
  Другие (3, 3)

Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)

За всю историю
2023 год
2024 год
2025 год

  1С-Битрикс24 - 207 (207, 0)
  Клиент-Коммуникатор (КлиК) - 111 (111, 0)
  1С-Битрикс: Управление сайтом - 102 (100, 2)
  Microsoft SharePoint - 66 (62, 4)
  IBM Content Foundation (ранее IBM FileNet) - 28 (28, 0)
  Другие 98

  1С-Битрикс24 - 26 (26, 0)
  1С-Битрикс: Управление сайтом - 16 (16, 0)
  Sellty Конструктор интернет-магазина - 3 (3, 0)
  Visary CMS - 1 (1, 0)
  Другие 0

  1С-Битрикс24 - 33 (33, 0)
  1С-Битрикс: Управление сайтом - 5 (5, 0)
  MWS Cloud CDN - 1 (1, 0)
  Agora: B2C и B2B-платформа электронной коммерции и закупок - 1 (1, 0)
  VK CDN - 1 (1, 0)
  Другие 1

  1С-Битрикс24 - 17 (17, 0)
  Ивентишес: Talent Rocks Платформа для всех форматов корпоративного обучения - 2 (2, 0)
  Visary CMS - 2 (2, 0)
  SL Soft: Цитрос Цифровая платформа - 1 (1, 0)
  Т1 Иннотех: Конвейер внешних сайтов - 1 (1, 0)
  Другие 2

Подрядчики-лидеры по количеству проектов

За всю историю
2023 год
2024 год
2025 год

  Солар (Solar) (47)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
  Форсайт (13)
  Unlimited Production (Анлимитед Продакшен, eXpress) (12)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (10)
  Другие (429)

  Солар (Solar) (6)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (4)
  Unlimited Production (Анлимитед Продакшен, eXpress) (4)
  РЖД-Технологии (3)
  Robin (Робин) (3)
  Другие (23)

  Unlimited Production (Анлимитед Продакшен, eXpress) (5)
  Солар (Solar) (4)
  Axiom JDK (Аксиом) (2)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (2)
  РеСолют (1)
  Другие (14)

  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (4)
  Нота (Холдинг Т1) (2)
  Effective Technologies (Эффектив Технолоджис) (2)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  Форсайт (2)
  Другие (20)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2023 год
2024 год
2025 год

  Солар (Solar) (2, 49)
  Microsoft (41, 47)
  Oracle (49, 26)
  Hyperledger (Open Ledger Project) (1, 23)
  IBM (33, 18)
  Другие (663, 354)

  Солар (Solar) (1, 6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
  Мобильные ТелеСистемы (МТС) (1, 4)
  SL Soft (СЛ Софт) (1, 3)
  Другие (15, 24)

  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 5)
  Солар (Solar) (1, 4)
  Мобильные ТелеСистемы (МТС) (2, 3)
  Axiom JDK (Аксиом) (2, 2)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
  Другие (15, 15)

  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
  Мобильные ТелеСистемы (МТС) (1, 4)
  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
  OpenAI (2, 2)
  T1 Digital (Т1 Диджитал) (1, 2)
  Другие (16, 23)

Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)

За всю историю
2023 год
2024 год
2025 год

  Solar appScreener (ранее Solar inCode) - 49 (49, 0)
  Hyperledger Fabric - 23 (23, 0)
  Windows Azure - 20 (20, 0)
  FIS Platform - 16 (16, 0)
  EXpress Защищенный корпоративный мессенджер - 16 (16, 0)
  Другие 345

  EXpress Защищенный корпоративный мессенджер - 6 (6, 0)
  Solar appScreener (ранее Solar inCode) - 6 (6, 0)
  МТС Exolve - 4 (4, 0)
  Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
  РЖД и Робин: Облачная фабрика программных роботов - 3 (3, 0)
  Другие 13

  EXpress Защищенный корпоративный мессенджер - 5 (5, 0)
  Solar appScreener (ранее Solar inCode) - 4 (4, 0)
  МТС Exolve - 2 (2, 0)
  Axiom JDK (ранее Liberica JDK до 2022) - 2 (2, 0)
  Kubernetes - 1 (1, 0)
  Другие 13

  МТС Exolve - 4 (4, 0)
  EXpress Защищенный корпоративный мессенджер - 3 (3, 0)
  Т1: Сфера Платформа производства ПО - 2 (2, 0)
  Yandex AI Studio - 2 (2, 0)
  Eftech.Factory - 2 (2, 0)
  Другие 15