CVE-2023-46914

9.8 CRITICAL

📋 TL;DR

A critical SQL injection vulnerability in the RM bookingcalendar module for PrestaShop allows remote attackers to execute arbitrary SQL commands via the ics_export.php file. This can lead to complete system compromise, data theft, and privilege escalation. All PrestaShop installations using affected versions of this module are vulnerable.

💻 Affected Systems

Products:
  • PrestaShop RM bookingcalendar module
Versions: 2.7.9 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PrestaShop installations with the RM bookingcalendar module installed. The vulnerability is in the module itself, not core PrestaShop.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise: attackers can execute arbitrary code, steal all database data (including customer information and credentials), escalate privileges to administrative access, and potentially pivot to other systems.

🟠

Likely Case

Database compromise leading to sensitive data exfiltration (customer data, payment information, credentials) and potential website defacement or disruption.

🟢

If Mitigated

Limited impact with proper network segmentation, database user privilege restrictions, and input validation at application layer.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via ics_export.php requires no authentication. Public exploit details available in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.8.0 or later

Vendor Advisory: https://security.friendsofpresta.org/modules/2024/02/06/bookingcalendar.html

Restart Required: No

Instructions:

1. Update the RM bookingcalendar module to version 2.8.0 or later via PrestaShop module manager. 2. Verify the update completed successfully. 3. Clear PrestaShop cache if issues occur.

🔧 Temporary Workarounds

Disable or remove vulnerable module

all

Temporarily disable or uninstall the RM bookingcalendar module until patched

Navigate to PrestaShop admin > Modules > Module Manager > Find 'bookingcalendar' > Disable/Uninstall

Block access to vulnerable file

linux

Use web server configuration to block access to ics_export.php

For Apache: add 'Deny from all' to .htaccess for ics_export.php
For Nginx: add 'location ~ ics_export\.php { deny all; }' to site config

🧯 If You Can't Patch

  • Implement strict WAF rules to block SQL injection patterns targeting the vulnerable endpoint
  • Restrict database user permissions to minimum required (SELECT only if possible) for the module's database user

🔍 How to Verify

Check if Vulnerable:

Check PrestaShop admin panel > Modules > Module Manager > bookingcalendar version. If version is 2.7.9 or earlier, you are vulnerable.

Check Version:

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

Verify Fix Applied:

Verify bookingcalendar module version is 2.8.0 or later in module manager. Test ics_export.php functionality with SQL injection test payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs from web server IP
  • Multiple requests to /modules/bookingcalendar/ics_export.php with SQL syntax in parameters
  • Database error messages containing SQL syntax in web server logs

Network Indicators:

  • HTTP requests to ics_export.php with SQL keywords (UNION, SELECT, INSERT) in parameters
  • Unusual database connection patterns from web application server

SIEM Query:

source="web_server_logs" AND uri="/modules/bookingcalendar/ics_export.php" AND (param="*UNION*" OR param="*SELECT*" OR param="*INSERT*")

🔗 References

📤 Share & Export