⚡️ Cloudflare Image Resizing <= 1.5.6 - Неавторизованное удаленное выполнение кода (CVE-2025-8723) Эксплойт
🚨 Обзор уязвимости
Плагин Cloudflare Image Resizing для WordPress (версии <= 1.5.6) страдает от уязвимости Отсутствия аутентификации, которая позволяет Неавторизованное удаленное выполнение кода (RCE) через хук rest_pre_dispatch.
- CVE: CVE-2025-8723
- Оценка CVSS: 9.8 (Критическая)
- Опубликована: 18 августа 2025 г.
- Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Обнаружена: Wordfence Intelligence
Описание:
Конечная точка REST API плагина не проверяет аутентификацию пользователя и некорректно санирует ввод в методе hook_rest_pre_dispatch(). Этот недостаток позволяет злоумышленникам внедрять и выполнять произвольный PHP-код, отправляя вредоносные запросы — без необходимости входа в систему.
🛠 Особенности этого эксплойта
- Профессиональный, модульный и расширяемый скрипт на Python
- Автоматическое обнаружение уязвимости плагина путем анализа файла
readme.txt
- Несколько методов обхода WAF и ограничительных сред:
- Минимальные и расширенные наборы заголовков (случайные User-Agent, Referer, Origin, X-Forwarded-For и т.д.)
- Повторные попытки с ротацией заголовков
- Поддержка прокси (пользовательский или в стиле BurpSuite)
- Выполнение пользовательских команд:
- По умолчанию:
whoami, но пользователь может указать любую команду
- Четкий, профессиональный вывод с информативными кодами состояния
- Корректная обработка всех ошибок (отсутствие плагина, запрещено/неавторизовано, ошибки сервера и т.д.)
📦 Что внутри скрипта?
1️⃣ Автоматическое обнаружение уязвимости
- Загружает
wp-content/plugins/cf-image-resizing/readme.txt
- Извлекает и проверяет версию плагина
- Если версия ≤ 1.5.6, переходит к эксплуатации
2️⃣ Несколько стратегий эксплуатации
- Минимальные заголовки: Отправляет только самое необходимое для максимальной совместимости
- Расширенные заголовки: Случайным образом меняет User-Agent, Referer, Origin, Accept-Language и другие для каждой попытки
- Ротация заголовков: Пробует несколько комбинаций для обхода WAF и ограничения скорости
3️⃣ Настраиваемое выполнение
- Запуск любой системной команды на цели через аргумент CLI
Пример: -c "id"
4️⃣ Поддержка прокси
- Используйте
--proxy для отправки запросов через прокси (например, BurpSuite)
5️⃣ Полный вывод
- Показывает обнаруженную версию, статус уязвимости, использованные методы и фактический вывод команды
🚀 Использование
python3 CVE-2025-8723.py -u http://target.com/
- Команда по умолчанию:
whoami
Укажите пользовательскую команду:
python3 CVE-2025-8723.py -u http://target.com/ -c "id"
Используйте прокси (например, BurpSuite):
python3 CVE-2025-8723.py -u http://target.com/ --proxy http://127.0.0.1:8080
Увеличьте количество попыток с расширенными заголовками (по умолчанию 5):
python3 CVE-2025-8723.py -u http://target.com/ --attempts 10
🧩 Пример вывода
[+] CVE-2025-8723 Эксплойт | от Khaled Alenazi (Nxploited)
[+] Обнаруженная версия: 1.5.6
[+] Цель уязвима (<=1.5.6). Продолжаем эксплуатацию.
[*] Пробуем минимальные заголовки (только Content-Type)...
[=] Минимальные заголовки | Статус: 200
www-data
[+] Эксплойт сработал с этим методом!
🛡️ Методы обхода и уклонения
- Рандомизация заголовков: Пробует различные комбинации User-Agent, Referer, Origin и Accept-Language
- Поддержка прокси: Используйте прокси для смены IP и обхода ограничений по IP
- Множественные попытки: Повторяет попытки с новыми заголовками, если запросы заблокированы или запрещены
- Обработка ошибок: Интеллектуально интерпретирует все распространенные ответы (404, 401, 403, 5xx, тайм-ауты)
📖 Описание структуры скрипта
- normalize_url: Обеспечивает корректный формат URL
- get_headers: Генерирует случайные расширенные заголовки для каждой попытки
- get_readme/extract_version/is_vulnerable: Автоматическая логика обнаружения уязвимости
- try_exploit: Пытается провести эксплуатацию с заданным набором заголовков
- exploit_all: Оркестрирует все попытки эксплуатации, автоматически переключая стратегии заголовков
- scan: Проверяет наличие плагина и уязвимости
- Nxploited (main): Разбор аргументов, отчетность и рабочий процесс эксплуатации
⚠️ Отказ от ответственности
Этот инструмент предназначен только для авторизованного тестирования безопасности и образовательных целей.
Разработчик не несет ответственности за любое неправомерное использование или ущерб, причиненный этим кодом.
Автор: Khaled Alenazi (Nxploited)