CVE-2025-23713

7.1 HIGH

📋 TL;DR

This vulnerability in the WordPress plugin 'Hack me if you can' allows attackers to perform Cross-Site Request Forgery (CSRF) attacks that lead to Stored Cross-Site Scripting (XSS). Attackers can trick authenticated administrators into executing malicious actions, potentially injecting persistent scripts into websites. This affects all WordPress sites using versions up to 1.2 of this plugin.

💻 Affected Systems

Products:
  • WordPress plugin: Hack me if you can
Versions: n/a through 1.2
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and activated on a WordPress site. 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 compromise administrator accounts, inject malicious JavaScript that steals session cookies or credentials, deface websites, or redirect visitors to malicious sites.

🟠

Likely Case

Attackers would create phishing pages that trick logged-in administrators into executing actions that inject malicious scripts into the WordPress site, affecting all visitors.

🟢

If Mitigated

With proper CSRF tokens and input validation, the attack chain would be broken, preventing both the CSRF and subsequent XSS.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires social engineering to trick an authenticated administrator into visiting a malicious page while logged into WordPress. The CSRF leads to stored XSS, making the attack persistent.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.2 (check vendor for specific version)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/hack-me-if-you-can/vulnerability/wordpress-hack-me-if-you-can-plugin-1-2-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 'Hack me if you can' plugin. 4. Check for updates and install the latest version. 5. If no update is available, consider disabling or removing the plugin.

🔧 Temporary Workarounds

Disable or remove the plugin

WordPress

Temporarily disable or completely remove the vulnerable plugin until a patch is available.

wp plugin deactivate hack-me-if-you-can
wp plugin delete hack-me-if-you-can

Implement CSRF protection middleware

WordPress

Add custom WordPress filters or use security plugins to enforce CSRF tokens on all admin actions.

🧯 If You Can't Patch

  • Disable the 'Hack me if you can' plugin immediately to eliminate the attack surface.
  • Implement strict Content Security Policy (CSP) headers to mitigate XSS impact even if CSRF succeeds.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel: Plugins > Installed Plugins, look for 'Hack me if you can' with version 1.2 or lower.

Check Version:

wp plugin get hack-me-if-you-can --field=version

Verify Fix Applied:

After updating, verify the plugin version is above 1.2 in the WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to WordPress admin-ajax.php or admin-post.php involving the plugin
  • JavaScript injection in WordPress posts/pages from admin users

Network Indicators:

  • HTTP requests with missing or predictable CSRF tokens to plugin endpoints
  • Outbound connections to suspicious domains from injected scripts

SIEM Query:

source="wordpress.log" AND (plugin="hack-me-if-you-can" AND version<="1.2") OR (event="admin_action" AND csrf_token="missing")

🔗 References

📤 Share & Export