CVE-2024-13551

6.4 MEDIUM

📋 TL;DR

The ABC Notation WordPress plugin has a stored cross-site scripting vulnerability that allows authenticated attackers with contributor-level access or higher to inject malicious scripts via the 'abcjs' shortcode. These scripts execute whenever users view compromised pages, potentially stealing credentials or performing unauthorized actions. All WordPress sites using ABC Notation plugin versions up to 6.1.3 are affected.

💻 Affected Systems

Products:
  • ABC Notation WordPress Plugin
Versions: All versions up to and including 6.1.3
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with ABC Notation plugin enabled. Contributor-level authentication required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, take over the WordPress site, deface pages, redirect visitors to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Attackers with contributor access inject malicious scripts that steal user session cookies, perform actions as logged-in users, or display phishing content to visitors.

🟢

If Mitigated

With proper user access controls and content review processes, the impact is limited to potential defacement of individual pages by rogue contributors.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires contributor-level WordPress access. The vulnerability is in the shortcode handler, making injection straightforward once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.1.4 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3169965%40abc-notation&new=3169965%40abc-notation&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find ABC Notation plugin. 4. Click 'Update Now' if update available. 5. If no update appears, manually download version 6.1.4+ from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Remove Contributor Shortcode Access

all

Restrict contributor users from using the abcjs shortcode by modifying user capabilities or using content filters.

Add to theme functions.php or custom plugin: add_filter('user_has_cap', 'restrict_abcjs_shortcode', 10, 3); function restrict_abcjs_shortcode($allcaps, $caps, $args) { if (isset($args[0]) && $args[0] === 'edit_posts' && current_user_can('contributor')) { $allcaps['unfiltered_html'] = false; } return $allcaps; }

🧯 If You Can't Patch

  • Remove ABC Notation plugin entirely if not essential
  • Downgrade contributor users to subscriber role to prevent exploitation

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for ABC Notation version. If version is 6.1.3 or lower, you are vulnerable.

Check Version:

wp plugin get abc-notation --field=version (if WP-CLI installed)

Verify Fix Applied:

After update, verify ABC Notation plugin shows version 6.1.4 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual post/page edits by contributor users
  • Multiple failed login attempts followed by successful contributor login
  • Posts/pages containing suspicious script tags or encoded payloads

Network Indicators:

  • Outbound connections to suspicious domains from your WordPress site
  • Unexpected JavaScript loading from post/page content

SIEM Query:

source="wordpress" AND (event="post_updated" OR event="page_updated") AND user_role="contributor" AND content CONTAINS "<script>" OR content CONTAINS "javascript:"

🔗 References

📤 Share & Export