Summary
CVE-2026-9506 is a path traversal vulnerability (CWE-22) in the ImageCacheController component of Bagisto, an open-source Laravel eCommerce platform developed by Webkul. An unauthenticated remote attacker can supply crafted path traversal sequences via the filename parameter to read arbitrary files outside the intended directory on the server. The vulnerability carries a CVSS 4.0 base score of 8.7 (HIGH) and requires no credentials, no prerequisites, and no user interaction to exploit.
Technical details
- Root cause: Improper validation of user-supplied input in the
ImageCacheControllercomponent (part of thebagisto/image-cachepackage). The controller, which is designed to serve cached images to unauthenticated storefront visitors, does not adequately sanitise or restrict thefilenameparameter before using it to locate a file on the filesystem. - Trigger conditions: An attacker sends a crafted HTTP request to the image-caching endpoint containing path traversal sequences (e.g.
../) in thefilenameparameter. No session or authentication token is required. - Attack vector: Network-accessible; the endpoint is exposed as part of the public-facing storefront with no authentication gate.
- Impact: Successful exploitation allows the attacker to read arbitrary files from the server — including the Laravel
.envfile (which typically containsAPP_KEY, database credentials, and payment API keys), application configuration files, and other sensitive data. Exposure of these secrets can enable further privilege escalation or full application compromise.
Affected software
- Bagisto (by Webkul) — version 2.4.1
- Earlier versions may also be affected; v2.4.1 is the confirmed vulnerable release per the CERT-In advisory.
Severity
- CVSS 4.0 Base Score: 8.7 (HIGH)
- CVSS 4.0 Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate – apply the vendor patch: Upgrade Bagisto to v2.4.2 or later. The fix is available at https://github.com/bagisto/bagisto/tree/v2.4.2. The v2.4.2 release resolves the unauthenticated path traversal via the
ImageCachecomponent (issue #11220). - If immediate patching is not possible: Restrict access to the image-cache endpoint at the web server or WAF layer to prevent external path traversal requests from reaching the controller. Additionally, ensure the web server process runs under a least-privilege user account to limit the files readable in the event of exploitation.
- Post-remediation: Treat any
.envfile contents as potentially compromised; rotate the LaravelAPP_KEY, database credentials, and all API keys stored in the environment file.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

