CVE-2023-34576

9.8 CRITICAL

📋 TL;DR

This is a critical SQL injection vulnerability in the OpartFAQ module for PrestaShop that allows remote attackers to execute arbitrary SQL commands. Attackers can potentially read, modify, or delete database content, including sensitive customer data. All PrestaShop installations using the affected OpartFAQ module versions are vulnerable.

💻 Affected Systems

Products:
  • PrestaShop OpartFAQ module
Versions: through 1.0.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PrestaShop installations with the OpartFAQ module installed and enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, authentication bypass, or remote code execution via database functions.

🟠

Likely Case

Data exfiltration of customer information (names, emails, addresses), order history, and potentially administrative credentials stored in the database.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and database user privilege restrictions in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly weaponized. The description indicates remote attackers can exploit this, suggesting unauthenticated access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.4 or later

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

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Find OpartFAQ module. 4. Update to version 1.0.4 or later. 5. Clear PrestaShop cache.

🔧 Temporary Workarounds

Disable OpartFAQ module

all

Temporarily disable the vulnerable module until patching is possible

WAF rule for SQL injection

all

Implement web application firewall rules to block SQL injection patterns targeting updatepos.php

🧯 If You Can't Patch

  • Disable the OpartFAQ module immediately
  • Implement strict input validation and output encoding for all user inputs

🔍 How to Verify

Check if Vulnerable:

Check PrestaShop admin panel > Modules > Module Manager > OpartFAQ module version. If version is 1.0.3 or earlier, you are vulnerable.

Check Version:

Check via PrestaShop admin interface or examine modules/opartfaq/opartfaq.php file version header

Verify Fix Applied:

Verify OpartFAQ module version is 1.0.4 or later in PrestaShop admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in web server logs
  • Multiple requests to updatepos.php with SQL-like patterns
  • Database error messages containing user input

Network Indicators:

  • HTTP POST requests to updatepos.php containing SQL keywords (SELECT, UNION, INSERT, etc.)
  • Unusual database connection patterns from web server

SIEM Query:

source="web_server_logs" AND uri="*updatepos.php*" AND (message="*SQL*" OR message="*syntax*" OR message="*union*" OR message="*select*")

🔗 References

📤 Share & Export