CVE-2015-7517

9.8 CRITICAL

📋 TL;DR

This CVE describes SQL injection vulnerabilities in the WordPress Double Opt-In for Download plugin that allow remote attackers to execute arbitrary SQL commands. Attackers can exploit these vulnerabilities via the 'ver' parameter in two specific PHP files, potentially compromising WordPress sites running vulnerable versions of this plugin.

💻 Affected Systems

Products:
  • WordPress Double Opt-In for Download plugin
Versions: All versions before 2.0.9
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, privilege escalation, remote code execution, and full site takeover.

🟠

Likely Case

Database information disclosure, user data exposure, and potential administrative access to the WordPress site.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing SQL injection.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities are well-understood and easily exploitable with automated tools.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.9

Vendor Advisory: https://wordpress.org/plugins/double-opt-in-for-download/

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find 'Double Opt-In for Download'
4. Click 'Update Now' if update is available
5. If no update appears, manually download version 2.0.9+ from WordPress repository
6. Deactivate old plugin, upload new version, activate

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Double Opt-In for Download plugin until patched

wp plugin deactivate double-opt-in-for-download

Web Application Firewall rule

linux

Block requests containing SQL injection patterns targeting the ver parameter

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

🧯 If You Can't Patch

  • Implement strict input validation for all user-supplied parameters
  • Use parameterized queries or prepared statements for all database operations

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Double Opt-In for Download → Version. If version is below 2.0.9, you are vulnerable.

Check Version:

wp plugin get double-opt-in-for-download --field=version

Verify Fix Applied:

Confirm plugin version is 2.0.9 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in WordPress logs
  • Multiple requests to /wp-content/plugins/double-opt-in-for-download/public/includes/ with ver parameter containing SQL syntax

Network Indicators:

  • HTTP requests with SQL keywords in ver parameter (SELECT, UNION, INSERT, etc.)

SIEM Query:

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

🔗 References

📤 Share & Export