CVE-2024-2867

6.4 MEDIUM

📋 TL;DR

This vulnerability allows authenticated WordPress users with contributor-level access or higher to inject malicious scripts via the 'title' parameter in the ProfilePress plugin. The scripts are stored and execute when other users view affected pages, potentially compromising their browsers. All WordPress sites using ProfilePress versions up to 4.15.4 are affected.

💻 Affected Systems

Products:
  • ProfilePress (Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content)
Versions: All versions up to and including 4.15.4
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with ProfilePress plugin enabled. Contributor-level authentication or higher is needed for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, redirect users to malicious sites, perform actions on behalf of users, or deploy malware through the compromised WordPress site.

🟠

Likely Case

Attackers with contributor accounts inject malicious scripts that steal user credentials or session tokens when visitors view affected pages.

🟢

If Mitigated

With proper input validation and output escaping, the vulnerability is eliminated, preventing script injection entirely.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access (contributor role or higher). The vulnerability is straightforward to exploit once an attacker has valid credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.15.5

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3061186%40wp-user-avatar%2Ftrunk&old=3053353%40wp-user-avatar%2Ftrunk&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find ProfilePress and click 'Update Now' if available. 4. Alternatively, download version 4.15.5+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Remove Contributor Access

all

Temporarily restrict contributor-level access to prevent exploitation while patching.

Disable ProfilePress Plugin

linux

Temporarily deactivate the plugin until patched.

wp plugin deactivate wp-user-avatar

🧯 If You Can't Patch

  • Implement strict access controls: limit contributor accounts to trusted users only and monitor their activity.
  • Deploy a web application firewall (WAF) with XSS protection rules to block malicious script injection attempts.

🔍 How to Verify

Check if Vulnerable:

Check ProfilePress plugin version in WordPress admin under Plugins > Installed Plugins. If version is 4.15.4 or lower, the site is vulnerable.

Check Version:

wp plugin get wp-user-avatar --field=version

Verify Fix Applied:

After updating, confirm the plugin version shows 4.15.5 or higher in the WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to ProfilePress endpoints with script tags in 'title' parameter
  • Multiple failed login attempts followed by successful contributor-level login

Network Indicators:

  • Outbound connections to suspicious domains from your WordPress server following page views

SIEM Query:

source="wordpress.log" AND "title=" AND ("<script>" OR "javascript:")

🔗 References

📤 Share & Export