Глоссарий

Что такое RCE (Remote Code Execution) — почему это худший класс багов

RCE позволяет атакующему выполнить код на вашем сервере по сети — прямой путь к захвату. Отличие от XSS и SQLi и защита: патчи, мониторинг CVE, минимум прав.

Опубликовано 2026-06-07 Обновлено 2026-10-06 6 мин чтения
На этой странице

«RCE с CVSS 10.0» — одна из самых серьёзных формулировок в новостях об уязвимостях. Вот почему RCE — «худший класс» и чем оно отличается от других багов, с нуля.

Чем оно отличается от других багов

У большинства уязвимостей ущерб ограничен. RCE выполняет команды на самом сервере, поэтому оно на порядок хуже.

УязвимостьГде выполняется кодОсновной ущербТипичная критичность
XSSв браузерекража сессии, дефейссредняя–высокая
SQLiв базе данныхчтение/изменение данныхвысокая
RCEна самом серверезахват, распространение на другие системы, всё, что может процессхудшая (класс 10.0)

Почему это худший класс

Атакующий, выполняющий команды на вашем сервере, означает: что может делать этот процесс, то могут делать и они.

RCE достигнуто (выполнение произвольного кода)

↓ что это позволяет
прочитать .env и украсть секреты
дотянуться до БД, чтобы вынести/изменить
плацдарм для доступа к другим сервисам
↓ как далеко распространяется =
«привилегии» процесса (поэтому минимум привилегий работает)
То, насколько далеко распространится ущерб, задаётся привилегиями работающего процесса. Минимум привилегий и изоляция его ограничивают.

То, насколько далеко распространится ущерб, задаётся «привилегиями этого процесса». Именно поэтому контейнеризация, минимум привилегий и изоляция (ограничение распространения ущерба) работают. Запустите под root — и атакующий сможет управлять всем сервером; запустите непривилегированно и изолированно — и вы локализуете это.

Большинство RCE приходят из опубликованных уязвимостей, а не из ваших багов

RCE очень часто приходит не из бага, который вы написали, а из известной уязвимости во фреймворке или библиотеке, которые вы используете. Многие знаковые инциденты были RCE.

  • Log4Shell (CVE-2021-44228): RCE через компонент логирования; организации по всему миру спешно реагировали.
  • Equifax (CVE-2017-5638): незакрытая RCE в Struts привела к утечке данных около 147 млн человек.
  • Заброшенный CVSS 10.0: опубликованное RCE, оставленное без патча на месяцы.

Что вы можете сделать для защиты

1

Не пренебрегайте опубликованными CVE (главная защита)

Мониторьте CVE машинами (Dependabot / osv-scanner) и быстро обновляйтесь до исправленных версий. Большинство RCE приходят из-за того, что известные уязвимости оставляют без патча.

2

Судите по работающей версии

Измеряйте риск по версии, которая реально работает, а не по нижней границе в манифесте. Доверие тексту искажает оценку опасности.

3

Ограничьте ущерб

Запускайте под непривилегированным пользователем; изолируйте контейнеры и сети. Локализуйте ущерб, если вас поразили.

4

Не передавайте ввод прямо в выполнение

Никогда не подавайте внешний ввод напрямую в команды оболочки, десериализацию или вычисление шаблонов. Основы того, чтобы не написать RCE самому.

Основные причины, ведущие к RCE

RCE называет результат; причины же бывают нескольких типов. В «CWE Top 25» MITRE (25 самых опасных слабостей ПО), опубликованном в декабре 2025 года, много слабостей, ведущих к RCE.

Причина (CWE)Что этоCWE Top 25 (2025)
Внедрение команд ОС (CWE-78)Внешний ввод подмешивается в команду оболочки и выполняется как команда9-е место
Внедрение кода (CWE-94)Внешний ввод вычисляется и выполняется как программный код10-е место
Опасная загрузка файлов (CWE-434)Исполняемый файл попадает на сервер и запускается там (→ уязвимости загрузки файлов, на английском)12-е место
Небезопасная десериализация (CWE-502)Код выполняется при восстановлении данных, полученных извне (→ небезопасная десериализация, на английском)15-е место
Повреждение памяти (CWE-787 и др.)ПО на C/C++ пишет за пределы своей памяти, и его выполнение перехватывают5-е место (запись за границы)

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

Реальные примеры: под прицелом продукты, доступные снаружи

  • Сетевые устройства: в июле 2024 года американские CISA и ФБР выпустили предупреждение с призывом к производителям устранить внедрение команд ОС — после того как уязвимости этого типа в пограничных сетевых устройствах эксплуатировались как RCE без аутентификации (→ защита VPN-устройств, на английском).
  • Инструменты ИИ: в Langflow — инструменте для создания ИИ-агентов — было RCE без аутентификации в функции проверки кода (CVE-2026-0770), и его добавили в KEV (→ разбор CVE-2026-0770, на английском).
  • CMS: уязвимость включения файлов в ядре WordPress (CVE-2026-87902) ведёт к RCE при определённых условиях на сервере (→ разбор CVE-2026-87902, на английском).

Общее у них — продукты стоят там, где до них можно дотянуться из интернета без аутентификации. Опасность RCE зависит не только от самой уязвимости, но во многом и от того, достижима ли она снаружи.

Что проверить, услышав «RCE с CVSS 10.0»

1

Используете ли вы это?

С помощью «Поиска CVE / KEV» посмотрите по номеру CVE затронутый продукт и версии и сравните их с версиями, реально работающими у вас. Зависимости все сразу проверит osv-scanner.

2

Достижимо ли это снаружи?

Проверьте, доступна ли затронутая функция или админ-панель из интернета без аутентификации. Если да, подумайте об отключении до обновления.

3

Эксплуатируется ли это?

Если уязвимость есть в KEV агентства CISA, её эксплуатируют на практике. Как читать оценки, разобрано в статье о приоритизации по CVSS, EPSS и KEV.

4

После обновления поищите следы вторжения

Если кто-то проник до обновления, после него он никуда не делся. Поищите незнакомые файлы, новые учётные записи и подозрительный исходящий трафик (C2).

Источники (первичные)

  • MITRE, «2025 CWE Top 25 Most Dangerous Software Weaknesses» (декабрь 2025 г.) — cwe.mitre.org (места CWE-78, 94, 434, 502 и 787)
  • CISA и ФБР, «Secure by Design Alert: Eliminating OS Command Injection Vulnerabilities» (10 июля 2024 г.) — cisa.gov
  • FIRST, «CVSS v3.1 Specification Document» — first.org (как оценивается серьёзность)
  • CISA, «Known Exploited Vulnerabilities Catalog» — cisa.gov

Читать дальше

FAQ

QЧем RCE отличается от обычных багов вроде XSS?
A

XSS и подобные в основном безобразничают внутри браузера пользователя; RCE запускает произвольные программы на самом сервере. Поскольку оно может дотянуться до привилегий сервера, данных и других сервисов, это, как правило, самый тяжёлый класс.

QКак далеко распространяется ущерб от RCE?
A

Настолько далеко, насколько простираются привилегии процесса, работавшего в момент атаки. Запуск под root или с широкими правами — ущерб огромен; запуск под непривилегированным пользователем с изоляцией контейнера — можно локализовать. Вот почему минимум привилегий и изоляция важны.

QКак мне (разработчику) защититься от RCE?
A

Помимо того, чтобы не писать RCE-баги самому (не передавайте ввод прямо в выполнение), главная защита — не пренебрегать опубликованными RCE в используемых вами фреймворках/библиотеках. Мониторинг CVE и быстрые обновления — основа.

QЧто означает «RCE с CVSS 10.0»?
A

RCE, получившее высшую оценку по CVSS — общей шкале серьёзности уязвимостей от 0.0 до 10.0. Оценка 10.0, как правило, означает, что уязвимость эксплуатируется по сети, без аутентификации и без действий пользователя, сильно бьёт по конфиденциальности, целостности и доступности, а воздействие выходит за пределы уязвимого компонента. Если затронут используемый вами продукт, его стоит обновить или отключить раньше любой другой работы.

QЧем RCE отличается от выполнения произвольного кода (ACE)?
A

Выполнение произвольного кода (ACE) означает, что атакующий может запустить любой выбранный им код. RCE — та его часть, которую можно запустить удалённо по сети. Если для атаки нужно, например, заставить кого-то открыть локальный файл, это может быть выполнением произвольного кода, но не называться RCE.

QЧто делать в первую очередь, когда объявлено RCE?
A

По порядку: (1) убедитесь, что у вас действительно работает затронутый продукт и версия, (2) проверьте, доступен ли он из интернета, (3) обновитесь до исправленной версии, а если не можете — отключите его или примените обходное решение, и (4) если уязвимость есть в списке KEV агентства CISA (подтверждённая эксплуатация), поищите и признаки компрометации. Не останавливайтесь на обновлении; проверьте, не проник ли кто-то до него.