CVE-2023-34577

9.8 CRITICAL

📋 TL;DR

This CVE describes a critical SQL injection vulnerability in the PrestaShop opartplannedpopup module. Attackers can execute arbitrary SQL commands remotely through the prepareHook() method, potentially compromising the entire database. All PrestaShop installations using opartplannedpopup version 1.4.11 or earlier are affected.

💻 Affected Systems

Products:
  • PrestaShop opartplannedpopup module
Versions: 1.4.11 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all PrestaShop installations with the vulnerable module enabled, regardless of OS or hosting environment.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, privilege escalation, and full system takeover via SQL injection to RCE chaining.

🟠

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 some data exposure may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities in web applications are frequently weaponized due to readily available exploitation tools and techniques.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.12 or later

Vendor Advisory: https://security.friendsofpresta.org/modules/2023/09/19/opartplannedpopup.html

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Search for 'opartplannedpopup'. 4. Click 'Upgrade' to version 1.4.12 or later. 5. Clear PrestaShop cache via Advanced Parameters > Performance.

🔧 Temporary Workarounds

Disable vulnerable module

all

Temporarily disable the opartplannedpopup module until patching is possible

UPDATE ps_module SET active = 0 WHERE name = 'opartplannedpopup';

Web Application Firewall (WAF) rules

all

Implement WAF rules to block SQL injection patterns targeting the prepareHook() method

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries in the prepareHook() method
  • Deploy a web application firewall with SQL injection protection rules

🔍 How to Verify

Check if Vulnerable:

Check module version in PrestaShop admin panel under Modules > Module Manager > opartplannedpopup

Check Version:

SELECT version FROM ps_module WHERE name = 'opartplannedpopup';

Verify Fix Applied:

Confirm module version is 1.4.12 or later and test SQL injection attempts are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts from single IP
  • Unexpected database schema changes

Network Indicators:

  • HTTP requests with SQL syntax in parameters
  • Traffic spikes to /modules/opartplannedpopup/ endpoints

SIEM Query:

source="web_server" AND (url="*opartplannedpopup*" AND (param="*SELECT*" OR param="*UNION*" OR param="*INSERT*" OR param="*DELETE*"))

🔗 References

📤 Share & Export