CVE-2026-81568: CWE-22 Improper Limitation of a Pathname to a Restricted Directory in j2commerce.com J2Store extension for Joomla
Joomla Extension - j2commerce.com - Arbitrary file read via `task=download` in J2Store 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 - `J2StoreModelOrderdownloads::getFilePath()` built the on-disk path to a purchased digital download by concatenating the configured attachment folder with the product file's stored `product_file_save_name`, using only `JPath::clean()` (which normalises separators but does not resolve or reject `..` segments) and a plain `JFile::exists()` check — never confirming the resolved path stayed inside the configured attachment folder. If a product file's `product_file_save_name` ever contained a `../` traversal segment — most plausibly via the CSRF-forgeable admin product-file save actions described in Issue 1, but equally by any future integration or bug that writes that field — any customer holding a valid download `token`/`pid` pair for that product file could have the traversal resolve to a path outside the attachment folder and download any file readable by the web server (e.g. `configuration.php`).
AI Analysis
Technical Summary
The J2Store extension for Joomla contains an improper limitation of a pathname to a restricted directory (CWE-22) in the method J2StoreModelOrderdownloads::getFilePath(). This method constructs the file path for purchased digital downloads by concatenating a configured attachment folder with the stored product file name. It only uses JPath::clean() to normalize separators and JFile::exists() to check file existence, but does not verify that the resolved path remains within the intended directory. If the product_file_save_name contains '../' segments, an attacker with a valid download token can exploit this to perform directory traversal and read arbitrary files accessible by the web server, such as configuration files. This is most likely exploitable if an attacker can manipulate the product_file_save_name via CSRF-forgeable admin actions or other bugs.
Potential Impact
An attacker with a valid download token can read arbitrary files on the web server outside the intended download directory. This can lead to disclosure of sensitive information such as configuration files, potentially aiding further attacks or information leakage. The vulnerability does not require user interaction or privileges beyond possessing a valid download token and product ID.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict access to the download functionality to trusted users and monitor for suspicious activity. Review and harden administrative interfaces to prevent unauthorized modification of product_file_save_name values. Validate and sanitize file path inputs to ensure they do not contain directory traversal sequences.
CVE-2026-81568: CWE-22 Improper Limitation of a Pathname to a Restricted Directory in j2commerce.com J2Store extension for Joomla
Description
Joomla Extension - j2commerce.com - Arbitrary file read via `task=download` in J2Store 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 - `J2StoreModelOrderdownloads::getFilePath()` built the on-disk path to a purchased digital download by concatenating the configured attachment folder with the product file's stored `product_file_save_name`, using only `JPath::clean()` (which normalises separators but does not resolve or reject `..` segments) and a plain `JFile::exists()` check — never confirming the resolved path stayed inside the configured attachment folder. If a product file's `product_file_save_name` ever contained a `../` traversal segment — most plausibly via the CSRF-forgeable admin product-file save actions described in Issue 1, but equally by any future integration or bug that writes that field — any customer holding a valid download `token`/`pid` pair for that product file could have the traversal resolve to a path outside the attachment folder and download any file readable by the web server (e.g. `configuration.php`).
CVSS v4.0
Score 8.7high
Affected software
j2commerce.com
J2Store extension for Joomla
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The J2Store extension for Joomla contains an improper limitation of a pathname to a restricted directory (CWE-22) in the method J2StoreModelOrderdownloads::getFilePath(). This method constructs the file path for purchased digital downloads by concatenating a configured attachment folder with the stored product file name. It only uses JPath::clean() to normalize separators and JFile::exists() to check file existence, but does not verify that the resolved path remains within the intended directory. If the product_file_save_name contains '../' segments, an attacker with a valid download token can exploit this to perform directory traversal and read arbitrary files accessible by the web server, such as configuration files. This is most likely exploitable if an attacker can manipulate the product_file_save_name via CSRF-forgeable admin actions or other bugs.
Potential Impact
An attacker with a valid download token can read arbitrary files on the web server outside the intended download directory. This can lead to disclosure of sensitive information such as configuration files, potentially aiding further attacks or information leakage. The vulnerability does not require user interaction or privileges beyond possessing a valid download token and product ID.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict access to the download functionality to trusted users and monitor for suspicious activity. Review and harden administrative interfaces to prevent unauthorized modification of product_file_save_name values. Validate and sanitize file path inputs to ensure they do not contain directory traversal sequences.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Joomla
- Date Reserved
- 2026-08-27T06:42:00.961Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aa9963d55bf5e2cf53fe842
Added to database: 09/15/2026, 19:02:21 UTC
Last enriched: 09/15/2026, 19:16:33 UTC
Last updated: 09/16/2026, 03:17:55 UTC
Views: 10
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.