CVE-2025-14770

7.5 HIGH

📋 TL;DR

This SQL injection vulnerability in the WordPress Shipping Rate By Cities plugin allows unauthenticated attackers to inject malicious SQL queries through the 'city' parameter. Attackers can extract sensitive database information including user credentials, payment details, and other confidential data. All WordPress sites using this plugin up to version 2.0.0 are affected.

💻 Affected Systems

Products:
  • WordPress Shipping Rate By Cities plugin
Versions: All versions up to and including 2.0.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires plugin to be installed and active on WordPress site.

⚠️ 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

Complete database compromise leading to data exfiltration, privilege escalation, and potential site takeover via credential theft.

🟠

Likely Case

Extraction of sensitive user data, plugin configuration details, and potentially WordPress user credentials.

🟢

If Mitigated

Limited information disclosure if database permissions are properly restricted and sensitive data is encrypted.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

SQL injection via GET/POST parameters is straightforward for attackers with basic SQL knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.1 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/shipping-rate-by-cities/trunk/shiprate-cities-method-class.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Shipping Rate By Cities' and click 'Update Now'. 4. Verify version is 2.0.1 or higher.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate shipping-rate-by-cities

Web Application Firewall Rule

all

Block SQL injection patterns targeting the city parameter

ModSecurity rule: SecRule ARGS:city "@detectSQLi" "id:1001,phase:2,deny,status:403"

🧯 If You Can't Patch

  • Implement strict input validation for all city parameter inputs
  • Deploy web application firewall with SQL injection protection rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Shipping Rate By Cities → Version. If version is 2.0.0 or lower, you are vulnerable.

Check Version:

wp plugin get shipping-rate-by-cities --field=version

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in WordPress debug logs
  • Multiple requests with SQL keywords in city parameter
  • Requests to shipping rate endpoints with suspicious payloads

Network Indicators:

  • HTTP requests containing SQL injection patterns in GET/POST parameters
  • Unusual database query patterns from web server

SIEM Query:

source="wordpress.log" AND ("city=UNION" OR "city=SELECT" OR "city=INSERT" OR "city=UPDATE" OR "city=DELETE")

🔗 References

📤 Share & Export