CVE-2025-10861

7.5 HIGH

📋 TL;DR

This CVE describes a Server-Side Request Forgery (SSRF) vulnerability in the Popup Builder WordPress plugin. Unauthenticated attackers can exploit insufficient URL validation to make arbitrary web requests from the vulnerable server, potentially accessing internal services and conducting network reconnaissance. All WordPress sites using this plugin up to version 2.1.4 are affected.

💻 Affected Systems

Products:
  • Popup builder with Gamification, Multi-Step Popups, Page-Level Targeting, and WooCommerce Triggers WordPress plugin
Versions: All versions up to and including 2.1.4
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability affects the default configuration of the plugin. WordPress sites with this plugin installed are vulnerable regardless of other security measures.

⚠️ 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 sensitive internal services, exfiltrate data from cloud metadata services, scan internal networks, or pivot to attack other internal systems.

🟠

Likely Case

Attackers will scan internal networks, access internal APIs, or attempt to reach cloud metadata endpoints to steal credentials.

🟢

If Mitigated

With proper network segmentation and egress filtering, impact is limited to the web server making external requests.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SSRF vulnerabilities are commonly exploited and require minimal technical skill. The unauthenticated nature makes this particularly dangerous.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 2.1.5 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3379308/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Popup Builder' plugin. 4. Click 'Update Now' if update is available. 5. If no update appears, manually download version 2.1.5+ from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Popup Builder plugin until patched

wp plugin deactivate popup-builder-block

Web Application Firewall rule

all

Block requests containing suspicious URL parameters targeting the vulnerable endpoint

🧯 If You Can't Patch

  • Implement strict egress filtering to limit outbound connections from web servers
  • Deploy network segmentation to isolate web servers from internal services

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Popup Builder' version 2.1.4 or earlier

Check Version:

wp plugin get popup-builder-block --field=version

Verify Fix Applied:

Verify plugin version is 2.1.5 or later in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from web server to internal IPs or cloud metadata endpoints
  • Requests to /wp-json/popup-builder/v1/fetch-demo with suspicious URL parameters

Network Indicators:

  • Web server making unexpected HTTP requests to internal network ranges
  • Requests to 169.254.169.254 (AWS metadata) or similar cloud provider endpoints

SIEM Query:

source="web_server_logs" AND (uri="/wp-json/popup-builder/v1/fetch-demo" OR user_agent LIKE "%PopupBuilder%") AND (url_param CONTAINS "internal" OR url_param CONTAINS "169.254" OR url_param CONTAINS "localhost")

🔗 References

📤 Share & Export