Skip to main content

JCTables CVE-2026-76570

| EUVDEUVD-2026-89987 CRITICAL
SQL Injection (CWE-89)
2026-09-30 Joomla GHSA-h9xw-5459-2pqw
10.0
CVSS 4.0 · Vendor: Joomla
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Scan for Joomla sites running JCTables
  2. Delivery
    Send crafted request to front-end CRUD API
  3. Exploit
    Inject SQL via table/column/value params
  4. Execution
    Read and write arbitrary database records
  5. Impact
    Escalate 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

JCTables extension for Joomla 1.0.0-1.20.0

Affected Packages

euvd jctables_extension_for_joomla no fix

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

Vendor (Joomla) PRIMARY 10.0 CRITICAL
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
vuln.today AI 9.8 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Joomla).

CVSS VectorVendor: Joomla

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Low
niche third-party Joomla extension, limited install base
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy