Skip to main content
Vulnerability Database/CVE-2026-82869

CVE-2026-82869: ToolJet Database Privilege Escalation Flaw

CVE-2026-82869 is a privilege escalation vulnerability in ToolJet Database that allows authenticated attackers to read tables from any workspace. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-82869 Overview

ToolJet Database versions before v3.16.44 contain a privilege escalation vulnerability in the join_tables endpoint. The endpoint grants the JOIN_TABLES ability to all authenticated users without validating role or workspace membership. Attackers authenticated to any workspace can read arbitrary ToolJet Database tables from other workspaces by supplying a victim workspace identifier in the request path. The flaw is categorized under CWE-639: Authorization Bypass Through User-Controlled Key and enables cross-tenant data exposure in multi-tenant ToolJet deployments.

Critical Impact

Any authenticated ToolJet user can read tables from workspaces they do not belong to, breaking tenant isolation and exposing sensitive application data.

Affected Products

  • ToolJet Database versions prior to v3.16.44
  • ToolJet self-hosted deployments using the affected Database component
  • Multi-tenant ToolJet installations with more than one workspace

Discovery Timeline

  • 2026-08-31 - CVE-2026-82869 published to NVD
  • 2026-08-31 - Last updated in NVD database

Technical Details for CVE-2026-82869

Vulnerability Analysis

ToolJet is a low-code platform where each workspace isolates its own applications, users, and database tables. The join_tables endpoint exposes an ability called JOIN_TABLES that should be gated on workspace membership and role. In vulnerable builds, the authorization layer grants this ability to every authenticated principal regardless of which workspace issued the token.

The endpoint accepts a workspace identifier as part of the request path. The backend uses that identifier directly to resolve target tables and execute the join, without confirming the caller belongs to that workspace. Any user with a valid session can therefore query joins across foreign workspace tables and read the returned rows.

This is an authorization bypass rather than an authentication flaw. Exploitation preserves normal authenticated flows, which limits log signals and makes it difficult to distinguish abuse from legitimate multi-workspace activity.

Root Cause

The root cause is missing tenancy validation on the join_tables handler. The permission check verifies only that the request is authenticated and that the JOIN_TABLES ability exists, without cross-referencing the caller's workspace membership against the workspace identifier supplied in the path. This matches the CWE-639 pattern of authorization decisions based on user-controlled keys.

Attack Vector

An attacker registers or uses an existing account in any workspace on the target ToolJet instance. The attacker authenticates normally and captures a valid session or API token. The attacker then issues a request to the join_tables endpoint, substituting the victim workspace identifier in the URL path while keeping their own credentials. The server returns joined rows from the victim workspace tables. No user interaction on the victim side is required. Refer to the GitHub Security Advisory GHSA-7vj5-wxfm-gmfq and the VulnCheck Advisory for the endpoint specifics.

Detection Methods for CVE-2026-82869

Indicators of Compromise

  • Requests to /api/tooljet_db/organizations/{workspace_id}/join_tables where workspace_id does not match the authenticated user's workspace membership.
  • Accounts issuing join_tables calls that reference multiple distinct workspace identifiers within a short window.
  • Unexpected read volume from low-privilege users against ToolJet Database tables they do not own.

Detection Strategies

  • Correlate the authenticated user's workspace claim with the workspace identifier in the request path at the reverse proxy or WAF layer, and alert on mismatches.
  • Baseline per-user access to workspace resources and flag first-time access to a foreign workspace.
  • Review ToolJet application logs for JOIN_TABLES ability invocations that succeed for users without an explicit role in the target workspace.

Monitoring Recommendations

  • Ingest ToolJet API access logs into a centralized log platform and retain full URL paths, user identifiers, and workspace claims.
  • Alert on HTTP 200 responses to join_tables requests originating from newly created or dormant accounts.
  • Monitor database query volume from the ToolJet service account for spikes tied to specific user sessions.

How to Mitigate CVE-2026-82869

Immediate Actions Required

  • Upgrade ToolJet Database to v3.16.44 or later on all self-hosted instances.
  • Rotate ToolJet session secrets and API tokens after upgrading to invalidate any credentials that may have been used during exploitation.
  • Audit workspace membership and revoke accounts that should not have platform access.
  • Review database access logs for cross-workspace join_tables requests and identify affected tenants.

Patch Information

The fix is included in ToolJet Database v3.16.44. The patch adds workspace membership and role validation to the join_tables handler so that the JOIN_TABLES ability is enforced against the workspace referenced in the request path. Patch details are documented in the GitHub Security Advisory GHSA-7vj5-wxfm-gmfq.

Workarounds

  • Restrict network access to the ToolJet instance so only trusted users on an adjacent network segment can reach the API.
  • Disable self-service account registration and require administrator approval for new workspace members until the patch is applied.
  • Front the ToolJet API with a reverse proxy that enforces workspace-to-user mapping and blocks requests where the path workspace identifier does not match the session workspace.
bash
# Configuration example: upgrade to patched version
docker pull tooljet/tooljet:v3.16.44
docker stop tooljet && docker rm tooljet
docker run -d --name tooljet --env-file .env -p 80:80 tooljet/tooljet:v3.16.44

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.