CVE-2021-34623

9.8 CRITICAL

📋 TL;DR

This critical vulnerability in the ProfilePress WordPress plugin allows unauthenticated attackers to upload arbitrary files during user registration or profile updates. This can lead to remote code execution and complete system compromise. All WordPress sites using ProfilePress versions 3.0.0 through 3.1.3 are affected.

💻 Affected Systems

Products:
  • ProfilePress WordPress Plugin
Versions: 3.0.0 - 3.1.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with vulnerable ProfilePress versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server takeover via webshell upload leading to data theft, ransomware deployment, or use as attack platform.

🟠

Likely Case

Webshell installation allowing persistent backdoor access, data exfiltration, and lateral movement within the hosting environment.

🟢

If Mitigated

File upload attempts blocked or logged, with no successful exploitation due to proper file type validation.

🌐 Internet-Facing: HIGH - Exploitable remotely without authentication, affecting publicly accessible WordPress sites.
🏢 Internal Only: LOW - Primarily impacts internet-facing WordPress installations, though internal sites could be affected if accessible.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple HTTP POST request with malicious file upload, widely exploited in the wild.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.1.4

Vendor Advisory: https://wordpress.org/plugins/wp-user-avatar/#developers

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Disable ProfilePress Plugin

all

Temporarily disable the vulnerable plugin until patched.

wp plugin deactivate wp-user-avatar

Web Application Firewall Rule

linux

Block file uploads to ProfilePress endpoints.

ModSecurity rule: SecRule REQUEST_URI "@contains /wp-content/plugins/wp-user-avatar/" "id:1001,phase:1,deny"

🧯 If You Can't Patch

  • Implement strict file upload validation at web server level
  • Deploy WAF with rules blocking ProfilePress-specific file uploads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin > Plugins > ProfilePress version. If between 3.0.0 and 3.1.3, vulnerable.

Check Version:

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

Verify Fix Applied:

Confirm ProfilePress version is 3.1.4 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-content/plugins/wp-user-avatar/ with file uploads
  • Uploads of .php, .phtml, .php5 files
  • Unusual file creation in uploads directory

Network Indicators:

  • HTTP POST to ProfilePress endpoints with Content-Type: multipart/form-data
  • File uploads to user registration endpoints

SIEM Query:

source="web_logs" AND uri="*wp-user-avatar*" AND method="POST" AND content_type="multipart/form-data"

🔗 References

📤 Share & Export