CVE-2025-10749

5.4 MEDIUM

📋 TL;DR

The Microsoft Azure Storage for WordPress plugin has a vulnerability that allows authenticated users with subscriber-level access or higher to delete arbitrary media files from the WordPress Media Library. This occurs due to missing capability checks on the 'azure-storage-media-replace' AJAX action. All WordPress sites using this plugin up to version 4.5.1 are affected.

💻 Affected Systems

Products:
  • Microsoft Azure Storage for WordPress
Versions: All versions up to and including 4.5.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin and authenticated user access.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious authenticated users could delete all media files from the WordPress site, causing permanent data loss and site functionality disruption.

🟠

Likely Case

Low-privilege authenticated users delete specific media files they shouldn't have access to, causing content loss and potential site issues.

🟢

If Mitigated

Minimal impact if proper access controls and monitoring are in place to detect unauthorized deletion attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires authenticated access and knowledge of the nonce value, which is exposed to all authenticated users.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 4.5.1

Vendor Advisory: https://plugins.trac.wordpress.org/browser/windows-azure-storage/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Microsoft Azure Storage for WordPress'. 4. Click 'Update Now' if available, or manually update to latest version. 5. Verify plugin version is above 4.5.1.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove or restrict access to the vulnerable 'azure-storage-media-replace' AJAX action

Add to theme functions.php or custom plugin: remove_action('wp_ajax_azure-storage-media-replace', 'replace_media_callback');

🧯 If You Can't Patch

  • Temporarily deactivate the Microsoft Azure Storage for WordPress plugin
  • Restrict user registration and review existing user accounts for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for Microsoft Azure Storage for WordPress version 4.5.1 or lower

Check Version:

wp plugin list --name='Microsoft Azure Storage for WordPress' --field=version

Verify Fix Applied:

Verify plugin version is above 4.5.1 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual DELETE requests to /wp-admin/admin-ajax.php with action=azure-storage-media-replace
  • Media file deletion events from low-privilege users

Network Indicators:

  • POST requests to admin-ajax.php with replace_attachment parameter from non-admin users

SIEM Query:

source="wordpress.logs" AND (action="azure-storage-media-replace" OR message="*replace_attachment*") AND user_role!="administrator"

🔗 References

📤 Share & Export