ZeroHour

CVE-2026-78069

large

Missing authorization in J2Store allows table truncation and path-traversal SQL execution

CVSS 4.0
9.5 critical
EPSS
<1%p15
Published
()
Modified
AI analysis

J2Store, an e-commerce extension for Joomla from j2commerce.com, contains a missing-authorization flaw (CWE-862) in its Apps controller delegation chain, where app-plugin controllers are instantiated without any ACL check anywhere in the code. Access control currently works only by accident: requests get a 403 as a side effect of fof.xml's wildcard-deny resolving under the singularized ACL key 'app' (which has no explicit allow rule), not because of a deliberate check, so an attacker who can reach the delegated controllers bypasses any intended authorization. Through that path, applocalizationdata::getInstallerTool() accepts a caller-influenced table name with no allow-list, using it to truncate #__j2store_* tables and to build a path to SQL files that it then executes, enabling path-traversal-based file read and execution. An attacker gains the ability to read files from arbitrary paths, execute their SQL contents, and destroy J2Store data via table truncation, with high impacts to confidentiality, integrity, and availability (CVSS 4.0: 9.5 critical, network vector, no privileges required). All Joomla sites running J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, or 4.1.0-4.1.6 are affected; there is no public PoC, no known in-the-wild exploitation (EPSS 0.2%, 15th percentile, not in CISA KEV).

What to do: Update J2Store to releases later than 3.3.21, 4.0.21, and 4.1.6 respectively, published via j2commerce.com or the Joomla Extensions Directory (exact fixed version numbers were not provided in this advisory data, so confirm against the vendor's changelog). Until patched, do not rely on the current 403 behavior, since it is an incidental fof.xml side effect rather than a deliberate ACL check, and audit whether any #__j2store_* tables were truncated or unexpected SQL files executed. Monitor the Joomla CNA advisory for confirmed fixed versions and verify the update removes the missing-authorization issue in the Apps controller chain.

Affected
j2commerce.com J2Store (Joomla extension)1.0.0-3.3.21
j2commerce.com J2Store (Joomla extension)4.0.0-4.0.21
j2commerce.com J2Store (Joomla extension)4.1.0-4.1.6
Estimated exposure
largetens of thousands of Joomla sites (order of 10,000-100,000 installs; estimate, not in source data) — J2Store is one of the leading shopping-cart extensions in the Joomla ecosystem, a category whose popular plugins typically report active installs in the tens of thousands, so this is an order-of-magnitude estimate from its market position;…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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. It currently returns 403 only as a side effect of `fof.xml`'s wildcard-deny resolving under the singularised ACL key `app`, which has no explicit allow rule — not because of any deliberate check. Behind that path, `applocalizationdata::getInstallerTool()` used a caller-influenced table name with no allow-list, both to select a `#__j2store_*` table for truncation and to build a path to SQL files it then executes — a path-traversal-capable file read/execute.

Ecosystems
Joomla
Weakness
CWE-862
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.