
Уязвимость React4Shell: как Next JS и React снова под угрозой
Недавно наша команда столкнулась с серьезной проблемой безопасности в наших проектах на основе Next JS и React. Мы обнаружили уязвимость, получившую название React4Shell, которая позволила злоумышленникам выполнить произвольный код на наших серверах.
Как всё началось?
Уязвимость была обнаружена 3 декабря этого года и получила 10 баллов по шкале опасности CVSS 3.0. Она затрагивает версии 15.0.4 – 16.0.6 (Next JS) и React 19.0.0 – 19.2.0.
Почему это произошло?
Коренная причина уязвимости лежит глубже кода. Гонка за инновациями и сложность новой парадигмы «изоморфных» компонентов создали слепую зону. Разработчики React, сфокусированные на клиенте, могли перенести ментальную модель «код на сервере = безопасный код» на серверные компоненты.
Как мы столкнулись с этой уязвимостью?
Мы обнаружили уязвимость, когда нагрузка процессора на нашем сервере резко увеличилась до 100%. Мы выявили, что причиной была вредоносная программа, которая смогла обойти наши системы мониторинга.
Как мы решили проблему?
Мы приняли решение временно отключить сервер и разработать стратегию по борьбе с майнером. Нам удалось обнаружить и устранить уязвимость, обновив пакеты до последних версий.
Урок на будущее
Мы рекомендуем всем обновить свои версии Next JS и React до последних, чтобы избежать подобных проблем. Также мы разработали новые системы мониторинга и защиты для наших серверов.
Уязвимость React4Shell стала для нас серьезным уроком, и мы надеемся, что наш опыт поможет другим избежать подобных проблем.







