Summary
CVE-2026-81568 is a path traversal vulnerability (CWE-22) in the download functionality of the J2Store extension for Joomla. A customer in possession of a valid download token can manipulate a stored filename to read arbitrary files outside the configured attachment directory, such as configuration.php. The flaw carries a High severity rating (8.7) and requires no privileges beyond an already-issued download token.
Technical details
- Root cause: the
J2StoreModelOrderdownloads::getFilePath()method builds the path to a downloadable file by concatenating the configured attachment folder with a storedproduct_file_save_namevalue, sanitizing it only withJPath::clean()and checking existence withJFile::exists(). JPath::clean()normalizes directory separators but does not strip or reject../traversal sequences, so a crafted filename can escape the intended attachment directory.- Trigger conditions: the requester must hold a valid J2Store download token (issued to customers who have completed an order with a downloadable product), but no Joomla administrator privileges are required.
- Attack vector: network — the traversal payload is submitted through the standard
task=downloadrequest flow. - Impact: disclosure of arbitrary files readable by the web server, including sensitive configuration files (e.g.,
configuration.php), which can expose database credentials and other secrets and enable further compromise.
Affected software
- J2Store extension for Joomla, versions 1.0.0 through 3.3.22
- J2Store extension for Joomla, versions 4.0.0 through 4.0.22
- J2Store extension for Joomla, versions 4.1.0 through 4.1.7
Severity
- CVSS v4.0 Base Score: 8.7 (High)
- 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: at the time of publication no fixed release addressing this specific traversal issue had been confirmed by the vendor for any branch (3.x, 4.0.x, or 4.1.x). Check the J2Commerce site for a security release beyond 3.3.22 / 4.0.22 / 4.1.7 and apply it as soon as it is available.
- If no patch is yet available: restrict or disable the J2Store download endpoint where feasible, audit issued download tokens and rotate/expire them if abuse is suspected, and ensure
configuration.phpand other sensitive files are not readable by the web server user beyond what is strictly required. - As a general hardening step, monitor web server logs for download requests containing
../or encoded traversal sequences targeting the J2Store download task.

