Последние месяцы стали сложными для мира серверов, облачных сервисов и гипермасштабируемых систем. Сначала AWS оказался вне игры в октябре, затем Cloudflare демонстрировал нестабильность, как йо-йо, и радостных новостей из этого сектора техники немного. К сожалению, и популярный веб-фреймворк, широко используемый на серверах, тоже под угрозой из-за обнаруженной максимальной по опасности уязвимости.
Речь идет о программных пакетах React Server Components. Разработчики недавно опубликовали тревожное заявление о критической уязвимости безопасности.
Уязвимость позволяет «неавторизованное удаленное выполнение кода, используя недостаток в том, как React декодирует отправленные данные на конечные точки React Server Function». Проще говоря, кто-то может использовать веб-запрос к серверу с React или приложением на его основе, чтобы выполнить вредоносный код, извлечь данные или изменить системы.
Уязвимость получила максимальный рейтинг опасности в базе данных CVE. К счастью, разработчики React быстро создали исправление, хотя их совет «рекомендуем обновиться немедленно» может быть недостаточно строгим для предотвращения эксплуатации уязвимости.
Это объясняется тем, что React используется множеством известных веб-сайтов. Как пишет The Register, «Meta's Facebook и Instagram, Netflix, Airbnb, Shopify, Hello Fresh, Walmart и Asana зависят от него». Если вы активно используете приложения Meta, стоит предположить, что их серверы уже обновлены.
Однако не все могут сказать то же самое, особенно если утверждение The Register о том, что 39% всех облачных сред имеют эту уязвимость, верно. Даже если показатель ниже, это все равно значительная часть сети, используемой ежедневно, и не исключено, что вскоре мы услышим о новом массовом утечке данных на сервере с React.
Существует популярный комикс XKCD, который точно описывает интернет: когда все работает, это настоящее чудо, но стоит чему-то пойти не так, как все рушится. Недавнее отключение Cloudflare в ноябре вызвано файлом конфигурации, который «превысил ожидаемый размер записей», а сбой AWS произошел из-за ошибки в автоматизированном программном обеспечении.
Иными словами, даже если все экземпляры React были обновлены в считанные секунды после объявления уязвимости, остаются множество других способов, из-за которых администраторы серверов могут пережить очередной тяжелый день.

Пугающая ситуация. Если даже такие гиганты, как Facebook и Netflix, оказались под угрозой, то что говорить о менее крупных компаниях? Хорошо, что разработчики React так быстро отреагировали, но интересно, как быстро будут действовать остальные компании.
Проблема с React серьезная, учитывая его популярность. Надеюсь, это послужит уроком для всех, кто использует подобные технологии, чтобы уделять больше внимания безопасности. Все должны быть более внимательными к своевременным обновлениям.