CVE-2025-23566

7.1 HIGH

📋 TL;DR

This vulnerability in the Syed Amir Hussain Custom Post WordPress plugin 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 that inject persistent scripts into the website. All WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Syed Amir Hussain Custom Post (WordPress plugin)
Versions: All versions up to and including 1.0
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and activated on a WordPress site. The vulnerability requires an authenticated administrator to be tricked into performing an action.

⚠️ 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 administrators view affected pages.

🟠

Likely Case

Attackers create fake requests that trick administrators into adding malicious scripts to posts/pages, leading to session hijacking, defacement, or malware distribution to site visitors.

🟢

If Mitigated

With proper CSRF tokens and input validation, the attack chain is broken at the initial CSRF stage, preventing the XSS payload from being stored.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires social engineering to trick an authenticated administrator into clicking a malicious link or visiting a crafted page. The CSRF leads to stored XSS, making the attack persistent.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.0 (check plugin repository for updates)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/custom-post-type-gui/vulnerability/wordpress-custom-post-plugin-1-0-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 'Custom Post' plugin. 4. Check for available updates and click 'Update Now'. 5. If no update is available, deactivate and delete the plugin immediately.

🔧 Temporary Workarounds

Implement CSRF Protection Manually

WordPress

Add nonce verification to plugin forms and actions to prevent CSRF attacks

Add wp_nonce_field() to forms and wp_verify_nonce() checks in form processing code

Input Sanitization

WordPress

Implement proper output escaping and input validation for all user-controllable data

Use esc_html(), esc_attr(), wp_kses() functions for output
Use sanitize_text_field() for input

🧯 If You Can't Patch

  • Deactivate and remove the Custom Post plugin immediately
  • Implement a Web Application Firewall (WAF) with CSRF and XSS protection rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Custom Post' plugin version 1.0 or earlier

Check Version:

wp plugin list --name=custom-post --field=version (if WP-CLI installed)

Verify Fix Applied:

Verify plugin version is updated beyond 1.0 or confirm plugin is completely removed

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php or plugin-specific endpoints
  • Multiple failed nonce verification attempts
  • Administrator accounts performing unexpected content modifications

Network Indicators:

  • HTTP requests with suspicious parameters containing script tags or JavaScript code
  • Requests lacking proper referrer headers or CSRF tokens

SIEM Query:

source="wordpress.log" AND ("admin-ajax.php" OR "custom-post") AND ("script" OR "javascript" OR "onclick")

🔗 References

📤 Share & Export