CVE-2023-39647

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in the Theme Volty CMS Category Product module for PrestaShop allows unauthenticated attackers to execute arbitrary SQL commands. It affects PrestaShop installations using the vulnerable module, potentially exposing database contents including customer data, admin credentials, and other sensitive information.

💻 Affected Systems

Products:
  • Theme Volty CMS Category Product module for PrestaShop
Versions: Up to version 4.0.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PrestaShop installations with the tvcmscategoryproduct module installed and enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

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

🟠

Likely Case

Data exfiltration of customer information, order details, and potentially admin credentials leading to unauthorized access.

🟢

If Mitigated

Limited information disclosure if database permissions are properly restricted and input validation is enforced elsewhere.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly exploited and this one requires no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 4.0.2 or later

Vendor Advisory: https://security.friendsofpresta.org/modules/2023/09/26/tvcmscategoryproduct.html

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Find 'Theme Volty CMS Category Product' module. 4. Update to version 4.0.2 or later. 5. Clear PrestaShop cache.

🔧 Temporary Workarounds

Disable vulnerable module

all

Temporarily disable the tvcmscategoryproduct module until patched

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

Web Application Firewall rule

all

Block SQL injection patterns targeting the vulnerable endpoint

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

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries at application level
  • Restrict database user permissions to minimum required privileges

🔍 How to Verify

Check if Vulnerable:

Check module version in PrestaShop admin panel under Modules > Module Manager for 'Theme Volty CMS Category Product'

Check Version:

SELECT version FROM ps_module WHERE name = 'tvcmscategoryproduct';

Verify Fix Applied:

Confirm module version is 4.0.2 or higher 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 errors in application logs

Network Indicators:

  • HTTP requests with SQL keywords (SELECT, UNION, etc.) to module endpoints
  • Unusual traffic patterns to /modules/tvcmscategoryproduct/

SIEM Query:

source="web_logs" AND (uri="*tvcmscategoryproduct*" AND (query="*SELECT*" OR query="*UNION*" OR query="*OR 1=1*"))

🔗 References

📤 Share & Export