Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessScan for Joomla sites running JCTables
-
DeliverySend crafted request to front-end CRUD API
-
ExploitInject SQL via table/column/value params
-
ExecutionRead and write arbitrary database records
-
ImpactEscalate SQL primitive to RCE
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a Joomla site with the JCTables extension (joomcode.com) at version <=1.21.1 installed and its front-end CRUD API controller reachable. No special configuration, authentication, or Joomla token is needed - the controller performs no token validation and no auth check on any task, so a default install is exploitable by any remote unauthenticated attacker. The only limiting factor is deployment scope: exploitation is confined to sites that actually run this specific third-party extension; there is no user-interaction, privilege, or non-default-mode barrier. |
| Impact | This is a genuine top-tier priority, not a high-CVSS-but-low-risk case. The vendor CVSS 4.0 vector (10.0) is fully consistent with the description: AV:N/AC:L/AT:N/PR:N/UI:N means remote, low-complexity, unauthenticated exploitation with no user interaction, and VC:H/VI:H/VA:H/SC:H/SI:H/SA:H reflects total compromise of both the vulnerable component and adjacent systems (the SC/SI/SA:H scope change aligns with the SQL-read/write-to-RCE chain described in the VulnCheck reference). Two additional 4.0 signals sharpen the picture: AU:Y (Automatable=Yes) indicates the attack can be scripted/mass-scanned, and E:A (Exploit Maturity=Attacked) is a vendor assertion that exploitation activity has been observed. Note the conflict in supplied signals: the E:A metric asserts active attack, yet no CISA KEV entry and no explicit POC=YES/KEV=YES flag were provided in this input, so per strict evidence rules this is classified as no confirmed public exploit even though the vendor vector implies real-world attack pressure - verify KEV/exploit status directly with VulnCheck. No EPSS score was supplied. The only meaningful risk-reducing factor is prevalence: JCTables is a niche third-party Joomla extension, so the absolute number of exposed instances is limited compared with a core-platform flaw. Any site actually running JCTables <=1.21.1 should treat this as an emergency. |
| Exploit ScenarioDerived | An attacker scans for Joomla sites running the JCTables extension and sends an unauthenticated HTTP request to its front-end CRUD API controller, supplying attacker-chosen table names, column names, and values that are concatenated directly into SQL queries. Because no Joomla token or authentication check is enforced, the attacker reads arbitrary data (admin credentials, session data) and writes to the database, then leverages the read/write primitive toward remote code execution as detailed in the VulnCheck writeup. The VulnCheck reference documents the SQL-RW-to-RCE technique, indicating exploitation methodology is publicly described. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Unauthenticated SQL injection in the JCTables extension for Joomla (joomcode.com) through version 1.21.1 lets any remote attacker read and write arbitrary database content, because the extension's front-end CRUD API controller performs neither a Joomla token check nor any authentication check on any task. Table names, column names and values are taken directly from request parameters and concatenated into SQL, so a default install with the extension's front-end endpoint reachable is exploitable by an unauthenticated attacker with no user interaction and no non-default configuration (CVSS 4.0 base 10.0; our independent assessment concurs this is a top-tier priority rather than a high-score/low-risk case). Exposure is limited to Joomla sites that actually have this specific third-party extension installed, and no confirmed public exploit code was identified in the available intelligence at time of analysis, although public research describing a read/write SQLi-to-RCE chain has been published.
RemediationAI
No vendor-released patch version is identified in the available intelligence at time of analysis, so teams should first check https://www.joomcode.com/ (and the vendor's changelog/download area) for a JCTables release newer than 1.21.1 that addresses the injection, and the VulnCheck write-up at https://www.vulncheck.com/blog/jctables-unauthenticated-sql-rw-to-rce for any vendor-supplied guidance or interim mitigations. If no fixed build is available, the strongest compensating control is to uninstall or fully unpublish JCTables; the trade-off is complete loss of its front-end table/CRUD functionality, which is generally acceptable given unauthenticated read/write SQLi. A less disruptive option is to block external access to the extension's front-end CRUD API endpoint at the web server, reverse proxy or WAF (deny the JCTables component/controller route to all clients except trusted administrative IPs, or return 403 for its request patterns); this preserves functionality only for allow-listed users and depends on virtual-patching rules remaining accurate, so it should be treated as a stopgap rather than a fix. Because write-capable SQLi permits tampering with Joomla user, session and configuration data, any site that ran a vulnerable version should be treated as potentially compromised: rotate all Joomla administrator, database and Super User credentials, regenerate Joomla secret/session keys, audit the jos_users table and extension configuration for unauthorized changes, and review web server and database logs for anomalous JCTables API requests. Monitor the vendor advisory and CVE record for a patched release and apply it as soon as it is published.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
JCTables is a commercial third-party extension for the Joomla CMS that provides a front-end CRUD (create/read/update/delete) API for manipulating table data. The root cause is CWE-89, improper neutralization of special elements used in SQL commands: the extension's front-end controller fails to invoke Joomla's standard request-token validation (JSession::checkToken-style CSRF token check) and performs no access-level or authentication gate on any of its tasks, leaving the API reachable by anonymous visitors. It then builds SQL statements by concatenating attacker-supplied table names, column names and values straight from request parameters instead of using Joomla's parameterized/quoteName database API, which removes the usual identifier and value escaping that would otherwise contain the injection. Because the vulnerable sink is present in both read and write query paths, the flaw yields arbitrary data disclosure and arbitrary data modification against the Joomla database - write access at that level can be used to tamper with user records, session data and extension configuration, which is the mechanism public research (VulnCheck) describes as escalatable to remote code execution. The affected package is identified by CPE cpe:2.3:a:joomcode.com:jctables_extension_for_joomla:*:*:*:*:*:*:*:*, with all versions up to and including 1.21.1 reported as vulnerable. Our assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) confirms network-reachable, unauthenticated, no-interaction exploitation with full confidentiality, integrity and availability impact within the component's security scope.
Know when Jctables Extension For Joomla gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:A/AU:Y
Unauthenticated remote front-end API with no token check gives PR:N/AC:L; SQL read and write yields C:H/I:H and destructive writes give A:H; scored at the SQLi tier (S:U) rather than the downstream RCE.
Primary rating from Vendor (Joomla).
CVSS VectorVendor: Joomla
DescriptionCVE.org
Joomla Extension - joomcode.com - Unauthenticated SQL injection in read and write queries in JCTables 1.21.1 - The front-end CRUD API controller performs no Joomla token validation and no authentication check on any task. Table names, column names, and values are taken directly from request parameters and concatenated into SQL queries, allowing SQLi for reading and writing queries.
Executive ViewAI
Joomla sites running the third-party JCTables extension (joomcode.com, through version 1.21.1) face total database compromise: the extension's front-end CRUD API performs no Joomla token check and concatenates request-supplied table names, column names, and values directly into SQL, so any party able to reach that endpoint can read and rewrite arbitrary site data, with published research describing an escalation path from that access to remote code execution. Exposure is confined to organizations that have actually installed this extension, but for those that have, the blast radius covers customer records, credentials, and content integrity, and no vendor-released patch is currently available. Leadership should treat this as a containment decision rather than a routine patch cycle.
No vendor-released patch identified at time of analysis. Interim mitigations: uninstall or disable the JCTables extension, which removes the vulnerable code path entirely; if it cannot be removed, block or restrict the extension's front-end CRUD endpoint at the reverse proxy, WAF, or load balancer so it is not internet-reachable, and restrict it to trusted networks if any internal use is required; apply virtual-patching/WAF signatures targeting SQL injection patterns against the extension path; rotate all Joomla administrator, database, and site-content-stored credentials and review the database for attacker-written artifacts; monitor web and database logs for anomalous requests to the extension endpoint. Note: no public exploit identified at time of analysis, and no authentication or token check is performed on the affected endpoint per the advisory. Vendor patch status should be re-checked continuously since no fix version is currently published.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
EUVD-2026-89987
GHSA-h9xw-5459-2pqw
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB