CVE-2025-55182 у React та Next.js: Як вразливість React2Shell ставить під загрозу сучасні веб-додатки

Останнє оновлення: 12/04/2025
Автор: C SourceTrail
  • Критична вразливість CVE-2025-55182 у компонентах React Server дозволяє неавтентифіковане віддалене виконання коду через небезпечну десеріалізацію.
  • Проблема поширюється далі до Next.js як CVE-2025-66478, причому обидві вразливості оцінюються як максимально серйозні (CVSS 10).
  • Конфігурації за замовчуванням розкриваються, і дослідники повідомляють про майже 100% надійність експлойтів у багатьох реальних середовищах.
  • Постачальники випустили інструкції та патчі, і організаціям, які використовують React або Next.js, слід негайно оновити та переглянути свої розгортання.

Вразливість безпеки в React та Next.js

Розкриття інформації CVE-2025-55182 у компонентах React Server та пов'язаний з цим вплив на Next.js швидко стала однією з найбільш обговорюваних історій безпеки у світі веб-розробки. Ця вразливість викриває критичний шлях для зловмисників для віддаленого виконання коду на серверах, які залежать від цих надзвичайно популярних технологій.

Для команд, які обрали сучасний стек React та Next.js, це не абстрактна академічна помилка. Дослідники безпеки попереджають, що експлуатація є одночасно реалістичною та дуже надійною, а також те, що конфігурації за замовчуванням залишають багато виробничих розгортань неочікувано відкритими для атак, якщо їх швидко не виправити.

«React2Shell»: критична вразливість, що сколихнула Інтернет — і чому це важливо

Вразливість, що є центром цієї ситуації, публічно відстежується як CVE-2025-55182, впливає на протокол, що стоїть за компонентами React Server (RSC). Дослідники назвали шлях експлойту «React2Shell», щоб підкреслити, що успішна атака може перейти від спеціально створеного RSC-запиту до повного доступу на рівні оболонки на базовому сервері.

На високому рівні дефект проявляється через небезпечна десеріалізація корисних навантажень, що надаються кінцевим точкам функцій React ServerКоли серверний компонент обробляє ці спеціально створені корисні навантаження, зловмисник може перейти від, здавалося б, безпечної обробки даних до виконання довільного коду без необхідності автентифікації.

Хоча корінь проблеми полягає у відкритій реалізації React, її вплив на цьому не закінчується. Next.js, який базується на React та широко використовується для застосунків виробничого рівня, успадковує проблему в обробці логіки на стороні сервера. Цей ризик нижче за течією каталогізований окремо як CVE-2025-66478, що фактично розширює радіус вибуху на значній частині сучасного веб-стеку.

Як CVE-2025-55182, так і його аналог Next.js були присвоєно максимальний бал тяжкості 10 згідно зі спільною системою оцінювання вразливостей. Цей рейтинг відображає поєднання можливості віддаленого використання, відсутності вимог до автентифікації та потенціалу повного компрометування системи.

Що таке React2Shell — і як він працює?

Під капотом, компоненти React Server покладаються на протокол, за яким клієнт і сервер обмінюються серіалізованими корисними навантаженнями для обробки рендерингу та логіки на стороні сервера. Суть React2Shell полягає в тому, що ці корисні навантаження можуть бути маніпульовані таким чином, що це запускає небезпечну десеріалізацію, що фактично дозволяє інтерпретувати введені дані, контрольовані зловмисником, як виконувані інструкції на сервері.

У типовому сценарії атаки зловмисник створює шкідливе корисне навантаження, спрямоване на Кінцева точка функції сервера React, доступна застосункуОскільки вразливість може бути активована без автентифікації, зловмиснику потрібен лише мережевий доступ до кінцевої точки, щоб спробувати її використати.

Після обробки шкідливого корисного навантаження сервер може десеріалізувати його небезпечним чином, що фактично розмиває межу між даними та кодом. Це відкриває шлях до віддаленого виконання коду, що дає зловмиснику можливість виконувати довільні команди з дозволами серверного процесу.

Згідно з висновками, опублікованими дослідниками з Wiz, шлях експлойту не є лише теоретичним. Під час внутрішніх експериментів вони повідомляли про «високоточну» експлуатацію з показниками успіху, що наближаються до 100%. у середовищах, які вони тестували. Такий рівень надійності значно знижує бар'єр для зловмисників і підвищує терміновість для захисників, як показано в нещодавніх випадках. ataques a la cadena de suministro de npm.

Що особливо турбує практиків, так це те, що вразлива поведінка присутня в конфігураціях за замовчуваннямІншими словами, розробникам не обов'язково було вмикати небезпечні налаштування; багато програм піддаються ризику просто тому, що вони використовують стандартний, рекомендований стек.

Обсяг та вплив: чому так багато проектів перебувають під загрозою

Задіяні технології роблять цю проблему особливо поширеною. React, що народився у Facebook і зараз підтримується як бібліотека з відкритим кодом, лежить в основі значної частини сучасних веб-інтерфейсів. завдяки своїй компонентній моделі та екосистемі. Next.js, що підтримується Vercel, став основним фреймворком для створення готових до роботи React-додатків із серверним рендерингом та маршрутами API.

Через таку популярність кількість постраждалих розгортань не є тривіальною. Дослідники Wiz підрахували, що близько 40% досліджених ними хмарних середовищ містили вразливі екземпляри React або Next.js.Цей знімок свідчить про те, що помилка не є поодиноким випадком, а є поширеною проблемою для широкого кола організацій та галузей.

Практичні наслідки успішного експлойту можуть бути серйозними. Як тільки зловмисники отримують можливість віддаленого виконання коду через CVE-2025-55182 або пов'язану з нею вразливість Next.js, вони потенційно можуть отримати доступ до конфіденційних даних, проникнути в середовище, встановити бекдори або використовувати скомпрометовані сервери як точки відправлення для подальших атак.

Бенджамін Гарріс, засновник і генеральний директор watchTowr, наголосив, що хоча публічні технічні деталі все ще відносно обмежені, публікації патчів достатньо, щоб спрямувати рішучих зловмисниківЩойно вони почнуть переглядати зміни коду та консультативні нотатки, відтворити шлях експлойту та використати його як зброю в реальних умовах стає значно легше.

Така динаміка — публікація патчів перед широкомасштабним виправленням — часто створює перегони. Організації зараз ефективно конкурують зі зловмисниками розгорнути виправлення та заходи щодо зменшення ризиків, перш ніж спроби експлойтів почастішати.

Чому React2Shell особливо небезпечний

Кілька факторів разом виділяють цю вразливість зі звичайного потоку рекомендацій щодо безпеки. По-перше, Відсутність вимог до автентифікації означає, що анонімні зловмисники можуть безпосередньо атакувати відкриті кінцеві точкиБудь-яка загальнодоступна кінцева точка серверного компонента негайно стає частиною поверхні атаки.

По-друге, те, як помилка проявляється в реальних умовах, призводить до надзвичайно висока надійність експлуатаціїЯк повідомляв Wiz, за типових конфігурацій шлях експлойту працював майже завжди в їхніх сценаріях перевірки концепції, зменшуючи потребу в складних або крихких ланцюжках атак.

По-третє, проблема зачіпає суть того, як компоненти React Server та Next.js обробляють логіку на стороні сервера. Оскільки недолік пов'язаний із самим протоколом RSC, а не лише з вузькою граничною особливістю, багато програм успадковують ризик, просто дотримуючись стандартних шаблонів, що пропагуються офіційною документацією.

Зрештою, значення має ширший контекст екосистеми. React та Next.js глибоко вбудовані в хмарні та мікросервісні архітектури які забезпечують роботу всього, від малих стартапів до великих підприємств. Один скомпрометований серверний компонент може забезпечити точку входу в набагато більше та складніше середовище.

Разом ці властивості пояснюють, чому обидві вразливості оцінено на максимальному рівні серйозності, і чому спільнота безпеки наполегливо заохочує швидке встановлення виправлень та проактивна оцінка ризиків а не вичікувальний підхід.

Що вже зроблено (і що вам слід зробити прямо зараз)

Після того, як про проблему було повідомлено через програму Meta Bug Bounty — Дослідник Лахлан Девідсон повідомив команду React 29 листопада — розробники програмного забезпечення перейшли до розслідування, виправлення та координації розкриття інформації. Проект React та Vercel, компанія, що стоїть за Next.js, опублікували рекомендації, які допоможуть користувачам оновити своє програмне забезпечення.

З боку продавця, Виправлені випуски та консультативні примітки визначають, яких версій це стосується та як оновитиОрганізації, що використовують компоненти React Server або Next.js, повинні ретельно переглянути ці документи, визначити, які розгортання входять до їхньої області застосування, та запланувати оновлення як головний пріоритет.

З огляду на те, що конфігурації за замовчуванням є вразливими, просте припущення, що «користувацькі налаштування» або мінімальне використання забезпечать захист, є ризикованим. Команди безпеки повинні інвентаризувати всі програми, що залежать від компонентів React Server або Next.js, приділяючи особливу увагу загальнодоступним кінцевим точкам, що підключені до Інтернету.

Хоча нанесення латок є першочерговим кроком, також доцільно розглянути короткострокові заходи пом'якшення наслідків. Обмеження непотрібного публічного розголошення кінцевих точок серверних компонентів, посилення контролю доступу до мережі, де це можливо, та покращення моніторингу підозрілих шаблонів запитів можуть зменшити ризик під час розгортання оновлень, además de revisar la gestión segura de secretos en GitHub Actions.

Організації також можуть захотіти тісно співпрацювати зі своїми командами розробників, щоб перегляд журналів, планів реагування на інциденти та будь-яких ознак незвичайної активності навколо сервісів React або Next.js, включаючи використання Burp Collaborator para detektor interacciones fuera de banda.

Що це означає для веб-екосистеми — і на що звернути увагу

Поява CVE-2025-55182 та його аналога Next.js порушує ширші питання щодо як швидко розвиваються веб-фреймворки, що керують безпекою складних функцій на стороні сервераКомпоненти React Server, хоча й потужні, впроваджують нові шаблони комунікації та логіку серіалізації, які потребують ретельної перевірки.

Для ширшої екосистеми цей інцидент є нагадуванням про те, що навіть зрілі, широко впроваджені технології можуть містити вразливості з високим рівнем впливу, що кореняться в тонких деталях реалізаціїПоєднання оптимізації продуктивності, зручності для розробників та гнучких API іноді може маскувати глибокі припущення щодо безпеки, доки дослідники не проведуть їх стрес-тестування.

У майбутньому, ймовірно, спільноти React та Next.js побачать підвищена увага до безпечної обробки серверних функцій, серіалізації корисного навантаження та конфігурацій за замовчуваннямОрганізації, що піклуються про безпеку, також можуть наполягати на чіткіших інструкціях, більш чітких варіантах посилення захисту та розширеній документації щодо безпечних практик під час створення систем із серверних компонентів.

Тим часом захисникам слід уважно стежити за оновленнями з офіційних каналів проекту, постачальників рішень безпеки та дослідників, які продовжують аналізувати вразливість. Нові підтвердження концепції, правила виявлення та рекомендації щодо найкращих практик ймовірно, з'являться, оскільки більше експертів заглиблюватимуться в деталі React2Shell та його варіантів.

Зрештою, цей епізод підкреслює, що Забезпечення безпеки сучасних веб-стеків – це безперервний процес, а не одноразове завдання з налаштування. З розвитком фреймворків змінюються і їхні потенційні поверхні для атак, і організації, які швидко адаптуються, як правило, досягають кращих результатів, коли виявляються критичні недоліки.

Для будь-якої команди, яка покладається на React або Next.js у продакшені, CVE-2025-55182 служить чітким сигналом: ставитися до функцій серверної частини з такою ж ретельністю безпеки, як і до будь-якої іншої критичної інфраструктури, слідкуйте за попередженнями вище за течією та будьте готові швидко діяти, коли виникнуть проблеми з таким рівнем впливу.

Це висвітлення базується на інформації, спочатку опублікованій виданнями, що спеціалізуються на кібербезпеці, та рекомендаціями постачальників, підкреслюючи, як React2Shell швидко перейшов від приватного звіту до термінового пріоритету для організацій по всьому Інтернету.

аудиторія безпеки npm
Пов'язана стаття:
Детальний посібник з аудиту безпеки npm та атак на ланцюги поставок
Схожі повідомлення: