CVE-2023-30189

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers to execute arbitrary SQL commands on PrestaShop websites using the posstaticblocks module version 1.0.0 or earlier. Attackers can potentially steal sensitive data, modify database content, or gain administrative access. All PrestaShop installations with the vulnerable module are affected.

💻 Affected Systems

Products:
  • PrestaShop posstaticblocks module
Versions: <= 1.0.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PrestaShop installations with the posstaticblocks module installed. The vulnerability is in the module itself, not core PrestaShop.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, website defacement, backdoor installation, and full administrative control of the PrestaShop instance.

🟠

Likely Case

Data exfiltration of customer information, order details, and administrative credentials, potentially leading to further system compromise.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only allowing data reading from specific tables.

🌐 Internet-Facing: HIGH - PrestaShop is typically internet-facing, making vulnerable installations directly accessible to attackers.
🏢 Internal Only: LOW - This primarily affects public-facing e-commerce websites, though internal PrestaShop instances could also be targeted.

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly exploited with automated tools. The public advisory includes technical details that facilitate exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.1

Vendor Advisory: https://friends-of-presta.github.io/security-advisories/modules/2023/04/27/posstaticblocks.html

Restart Required: No

Instructions:

1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Search for 'posstaticblocks'. 4. Click 'Upgrade' to version 1.0.1 or later. 5. Alternatively, download the patched version from the PrestaShop Addons marketplace and manually install it.

🔧 Temporary Workarounds

Disable the module

all

Temporarily disable the vulnerable posstaticblocks module until patching is possible.

Log into PrestaShop admin > Modules > Module Manager > Search 'posstaticblocks' > Click 'Disable'

Remove the module

all

Completely uninstall the vulnerable module if not required for functionality.

Log into PrestaShop admin > Modules > Module Manager > Search 'posstaticblocks' > Click 'Uninstall'

🧯 If You Can't Patch

  • Implement a web application firewall (WAF) with SQL injection protection rules
  • Restrict database user permissions to minimum required for the module's functionality

🔍 How to Verify

Check if Vulnerable:

Check the module version in PrestaShop admin panel: Modules > Module Manager > Search 'posstaticblocks' > Check version number. If version is 1.0.0 or lower, you are vulnerable.

Check Version:

No direct command-line command; must check through PrestaShop admin interface or examine /modules/posstaticblocks/posstaticblocks.php file version metadata.

Verify Fix Applied:

After updating, verify the module shows version 1.0.1 or higher in the module manager. Test the affected functionality (posstaticblocks::getPosCurrentHook()) to ensure it no longer accepts malicious input.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts from single IP
  • Requests to posstaticblocks endpoints with SQL syntax in parameters

Network Indicators:

  • HTTP requests containing SQL keywords (SELECT, UNION, etc.) in URL parameters or POST data
  • Unusual traffic patterns to module-specific endpoints

SIEM Query:

web.url:*posstaticblocks* AND (web.param:*SELECT* OR web.param:*UNION* OR web.param:*OR 1=1*)

🔗 References

📤 Share & Export