CVE-2025-12324

6.4 MEDIUM

📋 TL;DR

This stored XSS vulnerability in TablePress WordPress plugin allows authenticated attackers with contributor-level access or higher to inject malicious scripts via table shortcode attributes. The scripts execute when users view pages containing the injected tables, affecting all WordPress sites using TablePress versions up to 3.2.3.

💻 Affected Systems

Products:
  • TablePress - Tables in WordPress made easy
Versions: All versions up to and including 3.2.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with TablePress plugin enabled and at least one user with contributor-level access.

⚠️ 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 steal admin credentials, redirect users to malicious sites, deface websites, or install backdoors for persistent access.

🟠

Likely Case

Attackers with contributor accounts inject malicious scripts to steal user session cookies or redirect visitors to phishing pages.

🟢

If Mitigated

With proper user access controls and content review processes, exploitation would be limited to low-privilege content manipulation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once attacker has contributor-level credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.4

Vendor Advisory: https://plugins.trac.wordpress.org/browser/tablepress/tags/3.2.4/controllers/controller-frontend.php#L605

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find TablePress and click 'Update Now'. 4. Verify version shows 3.2.4 or higher.

🔧 Temporary Workarounds

Remove Contributor Access

all

Temporarily remove contributor-level access from untrusted users until patching is complete.

Disable TablePress

all

Deactivate the TablePress plugin if tables are not critical to site functionality.

🧯 If You Can't Patch

  • Implement strict content review process for all posts/pages created by contributors
  • Add WAF rules to block suspicious script tags in table attributes

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > TablePress version number. If version is 3.2.3 or lower, you are vulnerable.

Check Version:

wp plugin list --name=tablepress --field=version

Verify Fix Applied:

After updating, verify TablePress version shows 3.2.4 or higher in WordPress admin plugins page.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/post.php with table shortcode parameters containing script tags
  • Multiple failed login attempts followed by successful contributor login

Network Indicators:

  • Outbound connections to suspicious domains from WordPress pages containing tables
  • Unusual JavaScript loading patterns on table-containing pages

SIEM Query:

source="wordpress.log" AND ("tablepress" OR "[table") AND ("script" OR "javascript:" OR "onclick" OR "onload")

🔗 References

📤 Share & Export