CVE-2021-4356

9.0 CRITICAL

📋 TL;DR

The Frontend File Manager WordPress plugin allows unauthenticated attackers to download arbitrary files from vulnerable websites due to missing authentication, capability checks, and sanitization. This affects all WordPress sites running the plugin version 18.2 or earlier. Attackers can potentially access sensitive files like wp-config.php containing database credentials.

💻 Affected Systems

Products:
  • WordPress Frontend File Manager plugin
Versions: All versions up to and including 18.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin active.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover through database credential theft from wp-config.php, leading to defacement, malware injection, or data exfiltration.

🟠

Likely Case

Sensitive file disclosure including configuration files, user data, and backup files, potentially enabling further attacks.

🟢

If Mitigated

Limited impact if file permissions restrict sensitive files or if web server blocks access to critical directories.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Simple HTTP request to vulnerable AJAX endpoint with file path parameter.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 18.3 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=2554359%40nmedia-user-file-uploader&new=2554359%40nmedia-user-file-uploader&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Frontend File Manager' and click 'Update Now'. 4. Verify version is 18.3 or higher.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove or restrict access to the wpfm_file_meta_update AJAX action

Add to theme's functions.php: remove_action('wp_ajax_wpfm_file_meta_update', 'wpfm_file_meta_update'); remove_action('wp_ajax_nopriv_wpfm_file_meta_update', 'wpfm_file_meta_update');

Deactivate plugin

linux

Temporarily disable the plugin until patched

wp plugin deactivate nmedia-user-file-uploader

🧯 If You Can't Patch

  • Restrict file permissions to prevent reading sensitive files like wp-config.php
  • Implement web application firewall rules to block requests to the vulnerable AJAX endpoint

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel for plugin version 18.2 or lower, or test with curl: curl -X POST 'https://example.com/wp-admin/admin-ajax.php' --data 'action=wpfm_file_meta_update&file=../../wp-config.php'

Check Version:

wp plugin get nmedia-user-file-uploader --field=version

Verify Fix Applied:

Confirm plugin version is 18.3+ in WordPress admin, and the above curl command returns error or no sensitive data.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=wpfm_file_meta_update
  • Unusual file download patterns from non-authenticated users

Network Indicators:

  • HTTP POST requests containing 'wpfm_file_meta_update' in parameters
  • Large outbound transfers of non-public files

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND post_data="*wpfm_file_meta_update*"

🔗 References

📤 Share & Export