CVE-2021-47897
📋 TL;DR
PEEL Shopping 9.3.0 contains a stored cross-site scripting vulnerability in the address parameter of change_params.php. Attackers can inject malicious JavaScript that executes when users interact with the address text box, potentially stealing session cookies or performing actions as authenticated users. This affects all PEEL Shopping 9.3.0 installations with the vulnerable script accessible.
💻 Affected Systems
- PEEL Shopping
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator session cookies, take over administrative accounts, deface the website, or redirect users to malicious sites, potentially leading to complete compromise of the shopping platform and customer data theft.
Likely Case
Attackers inject malicious scripts to steal user session cookies, perform actions as authenticated users, or deface the shopping site, potentially compromising customer accounts and payment information.
If Mitigated
With proper input validation and output encoding, the malicious payloads would be neutralized, preventing script execution while maintaining address field functionality.
🎯 Exploit Status
Exploit requires authentication to access the change_params.php functionality. Public exploit code is available on Exploit-DB (ID: 49553).
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 9.4.0 or later
Vendor Advisory: https://web.archive.org/web/20210302174407/https://www.peel.fr/
Restart Required: No
Instructions:
1. Upgrade to PEEL Shopping 9.4.0 or later. 2. Apply vendor-provided patches if available. 3. Verify the fix by testing address field input sanitization.
🔧 Temporary Workarounds
Input Validation and Output Encoding
allImplement server-side input validation and output encoding for the address parameter in change_params.php
Modify change_params.php to sanitize address parameter input using htmlspecialchars() or similar PHP functions
Disable Vulnerable Script
linuxTemporarily disable or restrict access to change_params.php if not essential
chmod 000 change_params.php
Add 'Deny from all' to .htaccess for change_params.php
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block XSS payloads in address parameter
- Enable Content Security Policy (CSP) headers to restrict script execution sources
🔍 How to Verify
Check if Vulnerable:
Test by entering <script>alert('XSS')</script> in the address parameter of change_params.php and check if script executes when viewing the address field
Check Version:
Check PEEL Shopping version in admin panel or configuration files
Verify Fix Applied:
Test the same XSS payload and verify it's properly sanitized (appears as text, not executed)
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to change_params.php with script tags in parameters
- Multiple failed login attempts followed by address parameter modifications
Network Indicators:
- HTTP requests containing script tags in address parameter values
- Unusual outbound connections from shopping site to external domains
SIEM Query:
source="web_logs" AND uri="*change_params.php*" AND (param="*<script>*" OR param="*javascript:*")