CVE-2024-28392

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in the pscartabandonmentpro PrestaShop module allows remote attackers to execute arbitrary SQL commands via the setEmailVisualized() method. Attackers can escalate privileges, potentially gaining administrative access to affected PrestaShop installations. All users running version 2.0.11 or earlier are affected.

💻 Affected Systems

Products:
  • pscartabandonmentpro (Abandoned Cart Reminder Pro)
Versions: 2.0.11 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects PrestaShop installations using the vulnerable module. The module must be installed and enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the PrestaShop installation including database takeover, customer data theft, and installation of backdoors for persistent access.

🟠

Likely Case

Administrative account takeover leading to e-commerce site defacement, data exfiltration, and financial fraud through order manipulation.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing SQL injection, though the vulnerable endpoint remains exposed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly weaponized. The CVSS 9.8 score indicates critical severity with low attack complexity.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.12 or later

Vendor Advisory: https://security.friendsofpresta.org/modules/2024/03/14/pscartabandonmentpro.html

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Find 'Abandoned Cart Reminder Pro'. 4. Click 'Update' or manually upload version 2.0.12+. 5. Clear PrestaShop cache.

🔧 Temporary Workarounds

Disable vulnerable module

all

Temporarily disable the pscartabandonmentpro module until patched

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

WAF rule blocking

all

Implement web application firewall rules to block SQL injection patterns targeting the vulnerable endpoint

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries in custom code
  • Deploy network segmentation to isolate the PrestaShop server from sensitive systems

🔍 How to Verify

Check if Vulnerable:

Check module version in PrestaShop admin panel under Modules > Module Manager > Abandoned Cart Reminder Pro

Check Version:

SELECT version FROM ps_module WHERE name = 'pscartabandonmentpro';

Verify Fix Applied:

Confirm module version is 2.0.12 or higher in the module manager

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by successful admin login
  • Unexpected POST requests to /index.php?fc=module&module=pscartabandonmentpro&controller=CAPUnsubscribeJob

Network Indicators:

  • SQL injection patterns in HTTP requests
  • Unusual outbound database connections from web server

SIEM Query:

source="web_logs" AND (uri="*pscartabandonmentpro*CAPUnsubscribeJob*" AND (method="POST" OR params="*UNION*" OR params="*SELECT*" OR params="*INSERT*"))

🔗 References

📤 Share & Export