CVE-2023-23315
📋 TL;DR
CVE-2023-23315 is a critical blind SQL injection vulnerability in the PrestaShop stripejs module that allows attackers to execute arbitrary SQL commands via HTTP requests. This affects all PrestaShop installations using the vulnerable stripejs module up to version 4.5.5, potentially compromising the entire e-commerce database.
💻 Affected Systems
- PrestaShop stripejs module
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including customer PII, payment information, administrative credentials, and full control over the e-commerce platform leading to data theft, financial fraud, and system takeover.
Likely Case
Data exfiltration of customer information, order history, and potentially payment data, leading to privacy violations and regulatory compliance issues.
If Mitigated
Limited impact with proper input validation, parameterized queries, and database user privilege restrictions preventing data modification or system compromise.
🎯 Exploit Status
The vulnerability requires only HTTP requests to the vulnerable endpoint with crafted parameters; no authentication or special privileges needed.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: stripejs module version 4.5.6 and above
Vendor Advisory: https://friends-of-presta.github.io/security-advisories/modules/2023/03/01/stripejs.html
Restart Required: No
Instructions:
1. Log into PrestaShop admin panel. 2. Navigate to Modules > Module Manager. 3. Search for 'stripejs' module. 4. Click 'Upgrade' to version 4.5.6 or higher. 5. Alternatively, download latest version from PrestaShop Addons marketplace and manually install.
🔧 Temporary Workarounds
Disable stripejs module
linuxTemporarily disable the vulnerable module until patching is possible
php /path/to/prestashop/bin/console prestashop:module disable stripejs
WAF rule to block exploitation attempts
allImplement web application firewall rules to detect and block SQL injection patterns targeting the vulnerable endpoint
ModSecurity rule: SecRule ARGS "(?i)(union|select|insert|update|delete|drop|create|alter).*" "id:1001,phase:2,deny,status:403,msg:'SQLi attempt detected'"
🧯 If You Can't Patch
- Implement network segmentation to restrict access to PrestaShop administration interfaces
- Enable database activity monitoring and alert on unusual SQL query patterns
🔍 How to Verify
Check if Vulnerable:
Check stripejs module version in PrestaShop admin panel under Modules > Module Manager, or examine /modules/stripejs/ directory for version file
Check Version:
grep -r 'version' /path/to/prestashop/modules/stripejs/ || cat /path/to/prestashop/modules/stripejs/stripejs.php | grep 'version'
Verify Fix Applied:
Confirm stripejs module version is 4.5.6 or higher in admin panel, and test that SQL injection payloads no longer execute
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL error messages in PrestaShop logs
- Multiple requests to stripejs validation endpoint with SQL keywords in parameters
- Database query errors containing user-supplied input
Network Indicators:
- HTTP POST requests to /module/stripejs/validation with SQL injection payloads
- Unusual database connection patterns from web server
SIEM Query:
source="prestashop_logs" AND ("SQL syntax" OR "union select" OR "stripejs/validation")