CVE-2021-24170

7.5 HIGH

📋 TL;DR

The User Profile Picture WordPress plugin before version 2.5.0 exposed sensitive user data through its REST API endpoint. Users with upload_files capability could access password hashes, activation keys, emails, and other information. This affects WordPress sites using vulnerable versions of the plugin.

💻 Affected Systems

Products:
  • User Profile Picture WordPress plugin
Versions: All versions before 2.5.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires users with upload_files capability (typically authors, editors, administrators)

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain password hashes for all users, enabling offline cracking and potential account takeover across the entire WordPress installation.

🟠

Likely Case

Privileged users unintentionally expose sensitive data through API calls, leading to credential compromise for targeted users.

🟢

If Mitigated

Limited exposure of non-critical user metadata with proper access controls and monitoring in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with upload_files capability

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.5.0

Vendor Advisory: https://wordpress.org/plugins/metronet-profile-picture/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find 'User Profile Picture' plugin
4. Click 'Update Now' if update available
5. If no update available, download version 2.5.0+ from WordPress repository
6. Deactivate old plugin, upload new version, activate

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the User Profile Picture plugin until patched

wp plugin deactivate metronet-profile-picture

Restrict user capabilities

all

Remove upload_files capability from non-administrative users

wp user remove-role <username> author
wp user add-role <username> contributor

🧯 If You Can't Patch

  • Implement web application firewall rules to block access to /wp-json/metronet-profile-picture/v1/get_users endpoint
  • Monitor and alert on suspicious API calls to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin panel under Plugins → Installed Plugins

Check Version:

wp plugin get metronet-profile-picture --field=version

Verify Fix Applied:

Verify plugin version is 2.5.0 or higher and test API endpoint returns only intended data

📡 Detection & Monitoring

Log Indicators:

  • Multiple GET requests to /wp-json/metronet-profile-picture/v1/get_users
  • Unusual API access patterns from user accounts with upload_files capability

Network Indicators:

  • HTTP 200 responses containing user password hashes in API responses
  • Traffic to REST endpoint from unexpected sources

SIEM Query:

source="wordpress" AND uri_path="/wp-json/metronet-profile-picture/v1/get_users" AND response_status=200

🔗 References

📤 Share & Export