Unrestricted File Upload Vulnerability in ShopEx ECShop
ShopEx ECShop versions up to 2.5.1 contain an unrestricted file upload vulnerability in the check_img_type function that allows unauthenticated remote attackers to upload malicious files via the pack_img argument.
CVE search metadata
CVE search record: CVE-2026-82921. Severity: high. CVSS: 7.3. KEV: no. Product: ECShop (<= 2.5.1). Brief: Unrestricted File Upload Vulnerability in ShopEx ECShop. Brief link: https://feed.craftedsignal.io/briefs/2026-09-shopex-ecshop-upload/
What's new
- 1. added detection rule: Detects CVE-2026-82922 Exploitation - SQL Injection in ECShop Sep 1, 01:01 via nvd
A vulnerability identified as CVE-2026-82921 affects ShopEx ECShop versions up to 2.5.1. The flaw exists within the check_img_type function located in the admin/pack.php script. An unauthenticated remote attacker can exploit this weakness by manipulating the pack_img parameter to bypass file type validation, allowing for the upload of arbitrary, potentially malicious files to the server. Successful exploitation of this vulnerability can lead to remote code execution (RCE) if the uploaded file is subsequently executed by the web server. Public exploit code for this vulnerability is available, and there is no indication that the vendor has addressed this issue following initial disclosure. Defenders should prioritize restricting access to the administrative directory and monitoring for suspicious file uploads.
Attack Chain
- Attacker identifies a target server running an unpatched version of ShopEx ECShop (<= 2.5.1).
- Attacker performs reconnaissance to locate the admin/pack.php script.
- Attacker crafts a malicious payload (e.g., a PHP web shell) embedded within an image file structure.
- Attacker sends a crafted HTTP POST request to the admin/pack.php endpoint.
- Attacker manipulates the pack_img argument within the request to bypass server-side file type checks in check_img_type.
- The server saves the malicious file to the web root or an accessible upload directory.
- Attacker navigates to the uploaded file's URL to trigger code execution on the server.
- Attacker establishes persistent access or begins data exfiltration.
Impact
Successful exploitation allows for arbitrary file uploads, which provides a direct path for remote code execution. This can result in complete system compromise, unauthorized data access, and lateral movement within the network. Sectors relying on ECShop for e-commerce operations are at high risk of site defacement, financial data theft, and loss of customer information.
Recommendation
Prioritized actions for detection engineering and security teams:
- Implement strict ingress filtering for the /admin/ directory to ensure it is not reachable from the public internet.
- Deploy the provided Sigma rule to detect suspicious HTTP requests targeting the admin/pack.php script.
- Monitor web server access logs for anomalous POST requests to admin/pack.php that contain unexpected file extensions or script contents.
- Configure file integrity monitoring on the web server's document root to alert on the creation of new executable files in upload directories.
Immediate actions
Restrict access to /admin/ directory to trusted IP ranges
Threat Hunt
Search for non-image files created in the ECShop web directory
Data: File system modification logs
Mitigations
Restrict external access to admin/pack.php
CVE-2026-82921
Detection coverage 2
Detects CVE-2026-82921 Exploitation - Unrestricted File Upload
highDetects exploitation of CVE-2026-82921 by identifying POST requests to the vulnerable admin/pack.php endpoint.
Detects CVE-2026-82922 Exploitation - SQL Injection in ECShop
highDetects attempted SQL injection against the ShopEx ECShop flow_update_cart function by monitoring for suspicious characters in the rec_id query parameter.
Detection queries are available on the platform. Get full rules →