CVE-2025-31440

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the Strategy11 Team Terms of Use WordPress plugin allows attackers to inject malicious scripts via forged requests. When exploited, this leads to Stored XSS where the malicious scripts persist on affected sites. WordPress administrators using vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • Strategy11 Team Terms of Use WordPress Plugin
Versions: All versions up to and including 2.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin enabled. Requires administrator interaction with malicious content.

⚠️ 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 persistent malicious scripts that steal administrator credentials, deface websites, redirect visitors to malicious sites, or install backdoors for further compromise.

🟠

Likely Case

Attackers create fake admin interfaces or forms that trick administrators into executing actions that inject malicious JavaScript, leading to session hijacking or content manipulation.

🟢

If Mitigated

With proper CSRF tokens and input validation, the attack vector is blocked, preventing unauthorized script injection even if administrators are tricked into clicking malicious links.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires tricking an authenticated administrator into clicking a malicious link or visiting a compromised page. No public exploit code is currently available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 2.0

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/terms-of-use-2/vulnerability/wordpress-terms-of-use-plugin-2-0-cross-site-request-forgery-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Terms of Use' plugin. 4. Click 'Update Now' if update is available. 5. If no update appears, manually download latest version from WordPress repository and replace plugin files.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily deactivate the Terms of Use plugin until patched

Implement CSRF Protection

all

Add custom CSRF tokens to plugin forms if you have development capabilities

🧯 If You Can't Patch

  • Restrict plugin access to trusted administrators only
  • Implement web application firewall rules to block suspicious POST requests to plugin endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins, find 'Terms of Use' and verify version is 2.0 or earlier

Check Version:

wp plugin list --name='terms-of-use' --field=version

Verify Fix Applied:

After update, verify plugin version is higher than 2.0 in WordPress admin plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with plugin-specific actions
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • Unexpected JavaScript injection in plugin settings pages
  • Suspicious referrer headers in admin area requests

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND action CONTAINS "terms_of_use")

🔗 References

📤 Share & Export