CVE-2025-1043

6.4 MEDIUM

📋 TL;DR

This Server-Side Request Forgery (SSRF) vulnerability in the Embed Any Document WordPress plugin allows authenticated attackers with Contributor access or higher to make arbitrary web requests from the vulnerable server. This can be used to query internal services, potentially exposing sensitive data or enabling further attacks. All WordPress sites using this plugin up to version 2.7.5 are affected.

💻 Affected Systems

Products:
  • Embed Any Document – Embed PDF, Word, PowerPoint and Excel Files WordPress plugin
Versions: All versions up to and including 2.7.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled. Attacker needs at least Contributor-level authenticated 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

Attackers could access internal services, retrieve sensitive data from internal APIs or databases, perform port scanning of internal networks, or chain with other vulnerabilities to achieve remote code execution.

🟠

Likely Case

Attackers with contributor accounts could probe internal networks, access metadata services (like AWS IMDS), or interact with internal APIs to steal sensitive information.

🟢

If Mitigated

With proper network segmentation and authentication controls, impact is limited to information disclosure from services accessible to the web server.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once credentials are obtained. The vulnerability is in the 'embeddoc' shortcode parameter handling.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.7.6

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3242370/embed-any-document

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Embed Any Document' plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.7.6+ from WordPress plugin repository and manually update.

🔧 Temporary Workarounds

Disable plugin

all

Temporarily disable the vulnerable plugin until patching is possible

wp plugin deactivate embed-any-document

Restrict user roles

all

Remove Contributor role access or implement stricter user role controls

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block SSRF patterns in 'embeddoc' parameter
  • Restrict outbound network access from web server to only necessary external services

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins for 'Embed Any Document' version. If version is 2.7.5 or lower, you are vulnerable.

Check Version:

wp plugin get embed-any-document --field=version

Verify Fix Applied:

After updating, verify plugin version shows 2.7.6 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from web server to internal IPs or unusual domains
  • Multiple failed authentication attempts followed by successful Contributor login

Network Indicators:

  • Web server making unexpected outbound HTTP requests to internal network ranges
  • Requests to metadata services (169.254.169.254, etc.) from web server

SIEM Query:

source="web_server_logs" AND (uri CONTAINS "embeddoc" OR user_agent CONTAINS "curl" OR destination_ip IN (RFC1918_ranges))

🔗 References

📤 Share & Export