CVE-2024-36401: RCE в GeoServer через XPath и эксплойты Mirai

Источник: www.bitsight.com
CVE-2024-36401 — уязвимость удалённого выполнения кода (RCE) в GeoServer, платформе с открытым исходным кодом для обмена геопространственными данными. Проблема представляет серьёзную опасность для правительственных ведомств и компаний, зависящих от геопространственной информации (транспорт, промышленность и др.), — именно в этих секторах GeoServer применяется особенно широко.
Что произошло
Уязвимость связана с тем, как GeoServer оценивает выражения имен свойств с использованием XPath. В результате злоумышленник, не прошедший проверку подлинности, может вызвать исполнение произвольного кода на сервере. Причина кроется в обработке вводимых пользователем данных через библиотеку commons-jxpath, которую GeoServer применяет для управления выражениями XPath.
Техническая суть уязвимости
GeoServer использует концепцию «Типов объектов» (_Object Types_), определяющую свойства наборов геопространственных данных (аналогично столбцам в базе данных). Именно эта структурная схема делает возможным злоупотребление обработкой выражений имен свойств и превращает уязвимость в критическую: некорректная оценка XPath-выражений позволяет внедрить и выполнить произвольные команды на целевом сервере.
Ключевые технические компоненты:
- commons-jxpath — библиотека для оценки XPath-выражений;
- обработка пользователем предоставляемых выражений имен свойств;
- возможность вызова Java-методов (раньше через директиву Java exec()), что позволило бы исполнение команд — в менее навязчивой форме для обнаружения использовался вызов java.lang.Runtime.getRuntime().
Проблемы с обнаружением и как их решили
Первичные методы обнаружения уязвимости оказались проблематичными, потому что типичный подход к эксплуатации менял состояние целевой системы и делал безопасное массовое сканирование опасным. В ответ была разработана менее навязчивая методика обнаружения, исключающая использование Java exec() и опирающаяся на более осторожные вызовы (например, java.lang.Runtime.getRuntime()), что снизило риск несанкционированных изменений на целевых серверах.
По результатам мониторинга после включения уязвимости в каталог известных эксплуатируемых уязвимостей CISA (KEV) были получены такие данные:
- из 4606 идентифицированных экземпляров GeoServer первоначально 1071 оказался уязвимым;
- в течение следующих десяти месяцев число зарегистрированных уязвимых экземпляров варьировало и достигло примерно 2074 — динамика указывает на сложности с точной инвентаризацией и на то, что открытые POC и методы сканирования дают разные результаты в разные моменты времени.
«Пример CVE-2024-36401 подчёркивает, насколько важно тщательно проверять публичные POC перед их массовым применением в сценариях обнаружения».
Эксплуатация и ботнет-активность
Атаки по эксплуатации CVE-2024-36401 особенно активизировались летом — с июня по август — когда злоумышленники загружали скрипты для вовлечения уязвимых систем в ботнет. Анализ этих скриптов показал связь с вариантом Mirai, известным способностью к самораспространению и организации DDoS‑атак.
Технические детали наблюдений:
- скрипты использовали curl и wget для загрузки двоичных файлов, соответствующих архитектурам целевых систем;
- в 2025 году было зафиксировано лишь 27 уникальных IP-адресов, связанных с данным ботнет-вариантом — это указывает на ограниченное по масштабу распространение, но поведение совпадало с характерными для Mirai полезными нагрузками.
Чему учит случай CVE-2024-36401
Кейс показывает несколько важных уроков для практиков и администраторов:
- даже публично известные уязвимости требуют аккуратной валидации POC — неверный или агрессивный POC может навредить системе при массовом сканировании;
- необходимо сочетать технические меры (патчи, конфигурации) с организационными — постоянный мониторинг, инвентаризация и управление уязвимостями;
- секторная приоритезация критична: правительственные и промышленно-транспортные сервисы должны быть в зоне повышенного внимания.
Рекомендации для владельцев и операторов GeoServer
- незамедлительно применить доступные патчи и обновления GeoServer;
- ограничить возможность оценки произвольных XPath-выражений, пересмотреть использование внешних библиотек (commons-jxpath) и их конфигурации;
- ограничить привилегии процессов GeoServer и запретить выполнение необоснованных системных вызовов;
- ввести фильтрацию исходящего трафика и контролировать попытки использования curl/wget для загрузки бинарников;
- регулярно сканировать и инвентаризировать экземпляры GeoServer в сети, сопоставляя результаты разных методик обнаружения;
- проводить тестирование POC в изолированной среде до их применения в массовом мониторинге.
Случай CVE-2024-36401 — напоминание о том, что даже инструменты для обмена данными, ориентированные на открытые стандарты, могут стать вектором серьёзных угроз. Своевременные обновления, взвешенные методы обнаружения и комплексный подход к безопасности остаются лучшей защитой против подобных рисков.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



