CVE-2024-24308

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in the Boostmyshop module for PrestaShop allows remote attackers to execute arbitrary SQL commands. Attackers can escalate privileges and access sensitive information from the database. All PrestaShop installations using boostmyshopagent module versions 1.1.9 and earlier are affected.

💻 Affected Systems

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

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise including administrative account takeover, database exfiltration, and potential remote code execution through database functions.

🟠

Likely Case

Privilege escalation to admin level, extraction of customer data, order information, and payment details from the database.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only data leakage without privilege escalation.

🌐 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 specific endpoints mentioned make exploitation straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2.0 or later

Vendor Advisory: https://security.friendsofpresta.org/modules/2024/02/08/boostmyshopagent.html

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Search for 'boostmyshopagent'. 4. Click 'Upgrade' to version 1.2.0 or later. 5. Alternatively, download latest version from official source and manually replace files.

🔧 Temporary Workarounds

Disable vulnerable endpoints

all

Temporarily block access to the vulnerable PHP files via web server configuration

# For Apache: add to .htaccess
<Files "changeOrderCarrier.php">
    Order allow,deny
    Deny from all
</Files>
<Files "relayPoint.php">
    Order allow,deny
    Deny from all
</Files>
<Files "shippingConfirmation.php">
    Order allow,deny
    Deny from all
</Files>
# For Nginx: add to server block
location ~ /(changeOrderCarrier|relayPoint|shippingConfirmation)\.php$ {
    deny all;
    return 403;
}

Disable module

all

Temporarily disable the boostmyshopagent module

# In PrestaShop admin: Modules > Module Manager > boostmyshopagent > Disable

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block SQL injection patterns targeting the vulnerable endpoints
  • Restrict network access to PrestaShop admin interface and vulnerable endpoints using IP whitelisting

🔍 How to Verify

Check if Vulnerable:

Check module version in PrestaShop admin: Modules > Module Manager > boostmyshopagent. If version is 1.1.9 or lower, you are vulnerable.

Check Version:

# Check module version via database query
SELECT version FROM ps_module WHERE name = 'boostmyshopagent';

Verify Fix Applied:

Confirm module version is 1.2.0 or higher in PrestaShop admin panel under Modules > Module Manager.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in web server logs
  • Multiple requests to changeOrderCarrier.php, relayPoint.php, or shippingConfirmation.php with SQL-like parameters
  • Admin privilege escalation attempts

Network Indicators:

  • SQL injection payloads in HTTP requests to vulnerable endpoints
  • Unusual database connection patterns from web server

SIEM Query:

web_access_logs | where url contains "changeOrderCarrier.php" or url contains "relayPoint.php" or url contains "shippingConfirmation.php" | where parameters matches "(?i)(union|select|insert|update|delete|drop|exec|--|#|;|')"

🔗 References

📤 Share & Export