J2Store vulnerabilities
17 known CVE vulnerabilities in J2Store, translated and rated.
- CVE-2026-78065High
Joomla Extension - j2commerce.com - Guest checkout address disclosure to any authenticated user (IDOR) in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - `editAddress()` redirected non-owners away only when the loaded address row had a **non-empty** `user_id` belonging to someone else. Guest-checkout address rows have an empty `user_id`, so that check never triggered for them — any logged-in account guessing a small, sequential `address_id` got a guest customer's full name, street address, and phone number rendered prefilled into the edit form.
- CVE-2026-78064High
Joomla Extension - j2commerce.com - Anonymous cart-record tampering via inherited FOF `save` task in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - `fof.xml` grants the `carts` view's tasks a wildcard `true` ACL, and FOF only enforces CSRF tokens on back-end HTML requests, not on front-end `format=raw` requests. `J2StoreControllerCarts` already scoped `remove()` to the caller's own session, but never overrode the generic FOF `save` task, so it remained reachable to insert new cart rows with an attacker-chosen `user_id`/`session_id`, or overwrite an existing row by id.
- CVE-2026-78000Medium
Joomla Extension - j2commerce.com - Reflected XSS via `filter_tag`, `pricefrom` and `priceto` in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - Four task handlers accepted a base64-encoded URL from user input and redirected to it without validating the destination host, enabling phishing using the shop's trusted domain. No authentication required.
- CVE-2026-77999High
Joomla Extension - j2commerce.com - Unauthenticated PayPal callback forgery leading to order confirmation fraud in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - The PayPal IPN listener's signature check (`_validateIPN()`) accepted `UNVERIFIED` and any non-`INVALID` response as valid, made its verification request with `CURLOPT_SSL_VERIFYPEER` disabled, and stored its verdict in a field nothing downstream ever checked — so processing continued regardless of the outcome. Separately, the paid-amount comparison only ran when `mc_gross` was a positive number; omitting the field from the POST body (`floatval(null) == 0`) skipped the check entirely. Combined with a merchant-configured `receiver_email` and a sequential, enumerable order id read from the `custom` field, an anonymous POST was enough to move a pending order straight to `CONFIRMED` with no payment, or force another customer's pending order to `FAILED`. `paypalv2.php` performed no amount check under any circumstances.
- CVE-2026-78069Critical
Joomla Extension - j2commerce.com - Missing authorization on Apps controller delegation chain in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - J2StoreControllerApps's appTask delegation path instantiates app-plugin controllers with no ACL check anywhere in the code. Additionally, applocalizationdata::getInstallerTool() used a caller-influenced table name with no allow-list, enabling path-traversal-capable file read/execute.
- CVE-2026-82191Medium
Joomla Extension J2Store in versions 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 reflects unescaped request data into the PayPal notify redirect. A crafted link to the paypal notify endpoint, if followed by a victim's browser, causes the redirect to com_j2store's checkout controller to carry attacker-chosen query parameters.
- CVE-2026-82190Medium
Joomla Extension J2Store in versions 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7 uses a predictable/forgeable order access token. Anyone who obtains the site's Joomla secret can compute a valid access token for any order without placing one, gaining guest access to order details and digital downloads.
- CVE-2026-82189High
In the Joomla extension J2Store, any order can be marked Failed by anyone without authentication. An attacker can mass-fail pending orders to disrupt revenue and force manual reprocessing, or flip already-fulfilled orders back to FAILED to cause operational confusion. Unlike the earlier confirmation-fraud issue, this requires no correct payment amount or transaction data at all.
- CVE-2026-81568High
In the Joomla extension J2Store, 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. If a product file's product_file_save_name contained a ../ traversal segment, any customer holding a valid download token/pid pair 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).
- CVE-2026-81567High
The Joomla extension J2Store (versions 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7) contains an unauthenticated blind SQL injection vulnerability in the storefront product list. An attacker can remotely extract arbitrary database content, such as customer records, order data, or stored tokens, using boolean- or time-based inference.
- CVE-2026-78081High
The Joomla extension J2Store (versions 1.0.0-3.3.2, 4.0.0-4.0.22, 4.1.0-4.1.7) lacks CSRF protection on cart, checkout, and profile controllers. A forged request riding a victim's active session can silently overwrite billing or shipping address before order confirmation, potentially redirecting goods to an attacker-controlled address.
- CVE-2026-74252High
Joomla extension J2Store (versions 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5) is vulnerable to Stored Cross-Site Scripting (XSS) through the guest checkout billing address fields. An unauthenticated attacker exploits a filter bypass in Joomla's Input::getArray() combined with PHP's variables_order=EGPCS (Cookie overrides POST in $_REQUEST) to store unsanitized HTML in fields such as billing_first_name.
- CVE-2026-67362Medium
Joomla Extension - j2commerce.com - Open redirect in cart controller in J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - Four task handlers accepted a base64-encoded URL from user input and redirected to it without validating the destination host, enabling phishing using the shop's trusted domain. No authentication required.
- CVE-2026-67361Medium
Joomla Extension - j2commerce.com - Unauthenticated file upload with missing directory protection in J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - The file upload endpoint accepted POST requests from unauthenticated visitors with no CSRF token. Compounding this, the installer manifest omitted the upload and invoices directories, causing fresh installs to deploy those directories without .htaccess/web.config protection, making uploaded files directly web-accessible.
- CVE-2026-67360Medium
Joomla Extension - j2commerce.com - Cross-customer order replication in J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - An authenticated user could supply another customer's order_id to copy their cart contents and address data into the attacker's session. The CSRF token was validated but ownership was not checked.
- CVE-2026-67359High
Joomla extension J2Store (versions 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5) allows an unauthenticated visitor to supply any order_id as a query parameter to render the full checkout confirmation page for that order, including line items, prices, and totals.
- CVE-2026-67358Medium
Joomla Extension - j2commerce.com - Download quota manipulation in J2Store 1.0.0-3.3.20, 4.0.0-4.0.20, 4.1.0-4.1.5 - An authenticated user with a valid order token could increment the download limit counter on a download record belonging to a different order. The endpoint also lacked a CSRF token.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

