CVE-2019-25214

7.2 HIGH

📋 TL;DR

The ShopWP WordPress plugin has an authorization bypass vulnerability in REST API endpoints that allows unauthenticated attackers to modify plugin settings and inject malicious scripts. This affects all WordPress sites running ShopWP version 2.0.4 or earlier. Attackers can compromise site functionality and security without any authentication.

💻 Affected Systems

Products:
  • ShopWP WordPress Plugin
Versions: All versions up to and including 2.0.4
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with vulnerable ShopWP plugin versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover through persistent cross-site scripting (XSS) payloads, defacement, data theft, or installation of backdoors that give attackers administrative access.

🟠

Likely Case

Unauthorized modification of plugin settings, injection of malicious JavaScript that steals user sessions or redirects visitors to malicious sites, and potential SEO spam injection.

🟢

If Mitigated

Limited impact with proper web application firewalls (WAF) blocking suspicious REST API requests and network segmentation preventing external access to admin interfaces.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires only HTTP requests to vulnerable REST API endpoints with no authentication. Public proof-of-concept code exists in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.5

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=2132502%40wpshopify&new=2132502%40wpshopify&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find ShopWP plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 2.0.5+ from WordPress repository and manually replace files.

🔧 Temporary Workarounds

Disable ShopWP Plugin

all

Temporarily deactivate the vulnerable plugin until patching is possible

wp plugin deactivate shopwp

Restrict REST API Access

linux

Block unauthenticated access to WordPress REST API endpoints using web server rules

# Apache: RewriteRule ^/wp-json/shopwp/.*$ - [F,L]
# Nginx: location ~* ^/wp-json/shopwp/ { deny all; }

🧯 If You Can't Patch

  • Immediately disable the ShopWP plugin if patching isn't possible
  • Implement web application firewall (WAF) rules to block requests to /wp-json/shopwp/* endpoints from unauthenticated sources

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > ShopWP version number. If version is 2.0.4 or lower, system is vulnerable.

Check Version:

wp plugin get shopwp --field=version

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • HTTP 200 responses to POST/PUT requests to /wp-json/shopwp/* endpoints from unauthenticated IPs
  • Unusual plugin setting changes in WordPress logs

Network Indicators:

  • Unauthenticated HTTP requests to REST API endpoints containing shopwp in the path
  • POST/PUT requests to /wp-json/shopwp/* without authentication headers

SIEM Query:

http.url:"/wp-json/shopwp/*" AND (http.status_code:200 OR http.method:POST OR http.method:PUT) AND NOT (user_agent:"WordPress/*" OR http.cookie:"wordpress_*")

🔗 References

📤 Share & Export