Удалённое выполнение кода (RCE)
Удалённое выполнение кода — это не «ещё одна уязвимость». Это момент, когда атакующий работает на вашей машине как ваш же процесс.
Почему RCE — критический уровень
После RCE злоумышленник читает файлы, запускает процессы, подключается к внутренним системам, ставит крипто-майнер или шифровальщик. Права ограничены только тем, чем ограничен процесс приложения — а «на практике» это часто root или владелец данных сайта.
Именно поэтому в CVSS RCE обычно оценивают как 9.0+ и требуют закрывать в первоочередном порядке.
История и масштаб: Equifax (2017)
В марте 2017 года была опубликована CVE-2017-5638 — уязвимость удалённого выполнения кода в Apache Struts 2. Патч вышел быстро. В мае злоумышленники использовали эту дыру против Equifax.
Итог: скомпрометированы данные порядка 147 миллионов человек; прямые затраты компании на расследование и меры, по публичным отчётам, превысили $1,4 млрд. Сенатский отчёт позже прямо указал: критический патч был известен и не был применён вовремя на уязвимом узле.
Log4Shell (2021) — RCE через логирование
CVE-2021-44228 в популярной Java-библиотеке Log4j показал: RCE может ждать внутри «скучного» логирования. Строки с JNDI-выражениями, попавшие в логи, заставляли приложение загружать удалённый класс — и код выполнялся на сервере.
Масштаб — почти вся Java-экосистема, от игровых серверов до корпоративных ERP. Масштабируется атака мгновенно: один HTTP-заголовок User-Agent.
Концептуальный пример
Если приложение сериализует объект из запроса «как есть» (Java-сериализация, Python pickle в куках, небезопасный yaml.load), то особо сконструированный payload вызывает цепочку magic-методов (__reduce__, readObject, и т.д.) — и в итоге Runtime.exec.
Тот же класс ошибок — серверные шаблоны (SSTI) и вставки в eval/exec: пользовательские данные никогда не должны становиться кодом.
Снижение рисков
- Инвентаризация зависимостей и быстрые патчи (SBOM, alerting по критичным CVE).
- Минимум прав процесса, изоляция (контейнеры, seccomp, AppArmor/SELinux), отсутствие root в контейнере.
- Отключение опасных фич: удалённая десериализация, JNDI, eval, ненужные плагины.
- Egress-фильтрация: серверу редко нужно ходить «куда попало» в интернет — блокировка исходящих к C2-доменам снижает урон.
- Мониторинг: новые процессы, необычные shell-цепочки, всплеск CPU (майнеры), аномальные egress-соединения.
Нужна проверка именно вашего контура?
Запустите автоматическое сканирование или закажите ручной аудит с заключением — с приоритетами и планом устранения.