CVE-2023-39675

9.8 CRITICAL

📋 TL;DR

This CVE describes a SQL injection vulnerability in the SimpleImportProduct Prestashop module that allows attackers to execute arbitrary SQL commands via the key parameter in send.php. Any Prestashop installation using the vulnerable module version is affected, potentially leading to complete database compromise.

💻 Affected Systems

Products:
  • SimpleImportProduct Prestashop Module
Versions: v6.2.9 and likely earlier versions
Operating Systems: All operating systems running Prestashop
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Prestashop installations with the SimpleImportProduct module installed. The vulnerability exists in the default configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, privilege escalation, and potential remote code execution via database functions.

🟠

Likely Case

Database information disclosure, data manipulation, and potential administrative access to the Prestashop backend.

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented, though SQL injection attempts would still be logged.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is typically internet-facing in Prestashop installations, making it directly accessible to attackers.
🏢 Internal Only: MEDIUM - Even if not internet-facing, internal attackers or compromised internal systems could exploit this vulnerability.

🎯 Exploit Status

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

The vulnerability is well-documented with public proof-of-concept available. SQL injection via the key parameter is straightforward to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v6.3.0 or later

Vendor Advisory: https://blog.sorcery.ie/posts/simpleimportproduct_sqli/

Restart Required: No

Instructions:

1. Update SimpleImportProduct module to v6.3.0 or later. 2. Remove or disable the vulnerable send.php file if not needed. 3. Verify the fix by testing the key parameter with SQL injection payloads.

🔧 Temporary Workarounds

Disable vulnerable endpoint

linux

Temporarily disable or remove the send.php file to prevent exploitation

mv modules/simpleimportproduct/send.php modules/simpleimportproduct/send.php.disabled

Implement WAF rules

all

Add web application firewall rules to block SQL injection attempts on the key parameter

🧯 If You Can't Patch

  • Implement strict input validation on the key parameter to only allow expected values
  • Deploy a web application firewall with SQL injection detection rules

🔍 How to Verify

Check if Vulnerable:

Check if send.php exists in modules/simpleimportproduct/ directory and test with SQL injection payloads on the key parameter

Check Version:

grep -r 'version' modules/simpleimportproduct/ || cat modules/simpleimportproduct/README.md

Verify Fix Applied:

Test the key parameter with SQL injection payloads after patching to ensure they are properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple requests to send.php with suspicious key parameters
  • Error logs showing SQL syntax errors

Network Indicators:

  • HTTP POST requests to /modules/simpleimportproduct/send.php with SQL keywords in parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND uri="/modules/simpleimportproduct/send.php" AND (param="key" AND value CONTAINS "UNION" OR value CONTAINS "SELECT" OR value CONTAINS "OR 1=1")

🔗 References

📤 Share & Export