CVE-2025-31032

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the Pagopar WooCommerce Gateway WordPress plugin allows attackers to perform stored cross-site scripting (XSS) attacks. This affects WordPress sites using the Pagopar payment gateway plugin. Attackers can trick administrators into executing malicious actions that inject persistent scripts into vulnerable sites.

💻 Affected Systems

Products:
  • Pagopar - WooCommerce Gateway WordPress plugin
Versions: All versions up to and including 2.7.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with WooCommerce and the Pagopar plugin installed. The vulnerability is present in default configurations.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject malicious JavaScript that steals administrator credentials, redirects users to phishing sites, or takes full control of the WordPress site when an admin views affected pages.

🟠

Likely Case

Attackers create fake requests that trick logged-in administrators into unknowingly injecting malicious scripts into the site, leading to session hijacking, data theft, or defacement.

🟢

If Mitigated

With proper CSRF protections and content security policies, the attack would fail or have limited impact, though the vulnerability still exists in the code.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires tricking an authenticated administrator into clicking a malicious link or visiting a crafted page. The CSRF-to-XSS chain makes this relatively straightforward for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.7.2 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/pagopar-woocommerce-gateway/vulnerability/wordpress-pagopar-woocommerce-gateway-plugin-2-7-1-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find 'Pagopar - WooCommerce Gateway'. 4. Click 'Update Now' if available. 5. Alternatively, download version 2.7.2+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate pagopar-woocommerce-gateway

CSRF Protection Headers

all

Add Content Security Policy headers to limit script execution

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "default-src 'self'; script-src 'self'";

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to prevent script execution from unauthorized sources
  • Use WordPress security plugins that add CSRF protection to all forms and AJAX requests

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Pagopar - WooCommerce Gateway' version

Check Version:

wp plugin get pagopar-woocommerce-gateway --field=version

Verify Fix Applied:

Verify plugin version is 2.7.2 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to Pagopar plugin endpoints from unexpected referrers
  • Administrator accounts performing unexpected plugin configuration changes

Network Indicators:

  • HTTP requests with suspicious parameters to /wp-admin/admin-ajax.php or Pagopar endpoints

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "pagopar") AND http_method="POST" AND referrer NOT CONTAINS own_domain

🔗 References

📤 Share & Export