Skip to main content

ToolJet EUVDEUVD-2026-56186

| CVE-2026-73068 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-08-11 GitHub_M
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to ToolJet with any valid user account
  2. Delivery
    Enumerate or infer target organization UUID from API responses or application behavior
  3. Exploit
    Craft GET /api/tooljet-db/organizations/[victim-org-id]/tables with own workspace JWT
  4. Execution
    Receive victim organization table list and schema
  5. Persist
    Extract row data via table read endpoints
  6. Impact
    Execute destructive operations (drop, alter, bulk populate) against victim tables

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

The attacker must possess a valid ToolJet user account with membership in at least one organization on the target ToolJet instance - no admin or builder role is required; a viewer-level account in any workspace is sufficient. The attacker must know or successfully enumerate the UUID of a target organization, which may be discoverable through application responses or other API endpoints. The ToolJet Database feature must be enabled and in active use within the target organization. Single-organization ToolJet deployments have no cross-tenant data exposure risk from this flaw (though the authorization gap still exists in the code). Contrary to the vendor's AV:A scoring, no special network positioning beyond standard HTTP connectivity to the ToolJet API server is required based on the description.

Impact

The vendor-assigned CVSS score of 5.9 with AV:A and PR:H appears to understate real-world risk: the affected endpoints are standard HTTP REST APIs with no documented requirement for adjacent-network positioning, and the description's 'authenticated user' implies PR:L (any valid account holder), not PR:H. An independent assessment using AV:N and PR:L yields a materially higher base score. The vendor's S:C (scope change) with C:L/I:L/A:L does capture the cross-tenant boundary crossing, but the actual capability to read full schemas, extract rows, and drop tables in victim organizations suggests C:H/I:H rather than L. In practice, any multi-tenant ToolJet deployment - from large enterprises down to a mid-sized municipal IT team in opole running a shared instance - should treat this as an urgent remediation, because a single valid user account becomes a pivot point into every other organization on the same server. No EPSS data was supplied; CISA KEV status is negative (not confirmed actively exploited); no public proof-of-concept is known at time of analysis. Despite the moderate vendor CVSS, the business impact - full cross-tenant database read, write, and destruction - substantially exceeds the numeric score's implied severity.

Exploit ScenarioDerived

An authenticated ToolJet user with a valid JWT for their own workspace sends a GET request to /api/tooljet-db/organizations/[victim-org-uuid]/tables, setting the tj-workspace-id header to their own workspace ID. The server validates the JWT against the header workspace (their own) and grants VIEW_TABLES without checking whether the URL's organizationId matches the authenticated session - returning the full table listing of the victim organization. The attacker then iterates the returned table names to exfiltrate schemas and row data, or issues bulk-upsert or table-drop operations to corrupt or destroy the victim's data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 11, 2026

Cross-tenant authorization bypass in ToolJet's Database HTTP API allows authenticated users of any workspace to access and manipulate database tables belonging to other organizations by substituting a victim's organizationId into the URL path. All ToolJet installations prior to version 3.20.207-lts running multi-tenant configurations with the ToolJet Database feature enabled are affected. An attacker holding a valid account on any workspace can enumerate foreign table schemas, extract row data, and perform destructive operations including table creation, alteration, bulk population, and deletion across organizational boundaries. No public exploit has been identified at time of analysis.

RemediationAI

The primary fix is to upgrade ToolJet to version 3.20.207-lts or later, released at https://github.com/ToolJet/ToolJet/releases/tag/v3.20.207-lts. The patch (PR #17298, commit 4c1dbef7487354bd4a2b5e1c633381ea783bf879) adds OrganizationValidateGuard to all ToolJet Database controller endpoints, ensuring the caller's authenticated session is validated against the organizationId in the URL path before any ability check proceeds; the previously unvalidated /join endpoint is disabled entirely pending proper validation. For deployments unable to upgrade immediately, administrators should apply a network-layer access control restricting the /api/tooljet-db/organizations/ route prefix to explicitly trusted internal clients - the trade-off is that remote or externally-situated ToolJet users will lose ToolJet Database API access. If network restriction is operationally infeasible, consider temporarily disabling the ToolJet Database feature at the application configuration level until the patch is applied, accepting the loss of any internal tool functionality that depends on it.

Affected VersionsENISA

ToolJet 3.20.207-lts

Affected Packages

euvd tooljet 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

ToolJet is a Node.js/NestJS-based open-source internal tools platform (CPE: cpe:2.3:a:tooljet:tooljet:*:*:*:*:*:*:*:*) with a built-in database layer backed by a PostgREST-compatible PostgreSQL service. The flaw exists in server/src/modules/tooljet-db/controller.ts, where REST endpoints accept an :organizationId URL path parameter but delegate authorization to ability/index.ts, which grants VIEW_TABLES, VIEW_TABLE, and JOIN_TABLES without anchoring those grants to the organization identified in the URL. JwtAuthGuard authenticates the caller against the tj-workspace-id request header - not the URL's :organizationId - creating a split-authorization pattern where header-based identity validation and URL-path-based resource targeting are never reconciled. CWE-639 (Authorization Bypass Through User-Controlled Key) describes this class precisely: the organizationId key is entirely user-controlled and is never cross-checked against the authenticated session's actual organization memberships.

Know when Tooljet 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 (GitHub_M) PRIMARY 5.9 MEDIUM
AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
vuln.today AI 9.9 CRITICAL

HTTP REST API accessible over the network (AV:N); any authenticated user qualifies (PR:L); full cross-tenant read and write constitutes a scope change; A:L reflects table-level destructive capability bounded below full system availability loss.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
Low

DescriptionCVE.org

ToolJet is the open-source foundation am AI-native platform for building and deploying internal tools, workflows and AI agents. Prior to 3.20.207, the ToolJet Database HTTP API in server/src/modules/tooljet-db/controller.ts authorizes operations against the :organizationId URL path value without verifying that the caller belongs to that organization. JwtAuthGuard validates the tj-workspace-id header against the caller's memberships, while server/src/modules/tooljet-db/ability/index.ts grants VIEW_TABLES, VIEW_TABLE, and JOIN_TABLES without binding them to the path organization. An authenticated user can set tj-workspace-id to the user's own workspace and target another workspace through GET /api/tooljet-db/organizations/:organizationId/tables, GET /api/tooljet-db/organizations/:organizationId/table/:tableName, POST /api/tooljet-db/organizations/:organizationId/join, and the related table-management routes, allowing disclosure of table names, schemas, and rows and allowing tables to be created, altered, bulk populated, or dropped across tenant boundaries. This issue is fixed in version 3.20.207-lts.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
growing open-source low-code platform with enterprise and SMB adoption
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2022-3019 HIGH POC
8.8 Aug 29

The forgot password token basically just makes us capable of taking over the account of whoever comment in an app that w

CVE-2022-2631 HIGH POC
8.8 Aug 02

Improper Access Control in GitHub repository tooljet/tooljet prior to v1.19.0. Rated high severity (CVSS 8.8), this vuln

CVE-2022-23067 HIGH POC
8.8 May 18

ToolJet versions v0.5.0 to v1.2.2 are vulnerable to token leakage via Referer header that leads to account takeover . Ra

CVE-2022-2037 HIGH POC
8.0 Jun 09

Excessive Attack Surface in GitHub repository tooljet/tooljet prior to v1.16.0. Rated high severity (CVSS 8.0), this vul

CVE-2022-27978 HIGH POC
7.5 Apr 26

Tooljet v1.6 does not properly handle missing values in the API, allowing attackers to arbitrarily reset passwords via a

CVE-2022-3422 HIGH POC
7.5 Oct 07

Account Takeover :: when see the info i can see the hash pass i can creaked it ............... Rated high severity (CVSS

CVE-2022-4111 MEDIUM POC
6.5 Nov 22

Unrestricted file size limit can lead to DoS in tooljet/tooljet <1.27 by allowing a logged in attacker to upload profile

CVE-2022-27979 MEDIUM POC
5.4 Apr 26

A cross-site scripting (XSS) vulnerability in ToolJet v1.6.0 allows attackers to execute arbitrary web scripts or HTML v

CVE-2026-55413 CRITICAL
9.4 Jun 25

Stored code injection in ToolJet self-hosted (prior to 3.20.178-lts) lets any authenticated builder-role user - availabl

CVE-2022-23068 MEDIUM POC
5.4 May 18

ToolJet versions v0.6.0 to v1.10.2 are vulnerable to HTML injection where an attacker can inject malicious code inside t

CVE-2022-3348 MEDIUM POC
4.9 Sep 28

Just like in the previous report, an attacker could steal the account of different users. Rated medium severity (CVSS 4.

CVE-2026-54344 HIGH
8.8 Jul 08

CI/CD pipeline injection in ToolJet's GitHub Actions render-preview deployment workflow (versions prior to 3.20.180) all

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