CVE-2025-23618

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the Andrea Brandi Twitter Shortcode WordPress plugin allows attackers to perform stored cross-site scripting (XSS) attacks. This affects WordPress sites using the Twitter Shortcode plugin version 0.9 and earlier. Attackers can inject malicious scripts that execute when other users view affected pages.

💻 Affected Systems

Products:
  • Andrea Brandi Twitter Shortcode WordPress Plugin
Versions: n/a through 0.9
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin active. No specific OS requirements.

⚠️ 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 session cookies, redirect users to phishing sites, or perform actions as authenticated users, potentially compromising administrative accounts and the entire WordPress site.

🟠

Likely Case

Attackers inject malicious JavaScript that steals user session cookies or redirects users to malicious sites when they view pages containing the vulnerable shortcode.

🟢

If Mitigated

With proper CSRF tokens and input validation, the vulnerability would be prevented, limiting impact to minor data exposure if other vulnerabilities exist.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires tricking authenticated users into visiting malicious pages. The CSRF leads to stored XSS, making the attack persistent.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 0.9 (check plugin repository for latest)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/twitter-shortcode/vulnerability/wordpress-twitter-shortcode-plugin-0-9-csrf-to-stored-cross-site-scripting-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Twitter Shortcode' plugin. 4. Click 'Update Now' if update available. 5. If no update, deactivate and delete plugin, then install latest version from WordPress repository.

🔧 Temporary Workarounds

Disable Plugin

WordPress

Temporarily deactivate the Twitter Shortcode plugin until patched version is available

wp plugin deactivate twitter-shortcode

🧯 If You Can't Patch

  • Remove the Twitter Shortcode plugin completely and use alternative Twitter embedding methods
  • Implement web application firewall (WAF) rules to block CSRF attempts and XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'Twitter Shortcode' version 0.9 or earlier

Check Version:

wp plugin list --name=twitter-shortcode --fields=name,version,status

Verify Fix Applied:

Verify plugin version is greater than 0.9 in WordPress admin panel or via 'wp plugin list' command

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to WordPress admin-ajax.php or admin-post.php involving twitter-shortcode endpoints
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • Unexpected JavaScript injection in page responses containing twitter shortcodes
  • Cross-origin requests to twitter-shortcode admin endpoints without proper referrer headers

SIEM Query:

source="wordpress.log" AND ("twitter-shortcode" OR "admin-ajax.php") AND ("POST" OR "csrf")

🔗 References

📤 Share & Export