CVE-2026-82871 Overview
CVE-2026-82871 is a broken access control vulnerability in ToolJet before version 3.16.208. The application fails to validate organization membership on database read routes. Any authenticated user can supply an arbitrary organization ID in URL parameters to enumerate tables, retrieve column schemas, and execute join queries against tenants they do not belong to. The flaw maps to CWE-862: Missing Authorization and enables cross-tenant data disclosure in multi-organization ToolJet deployments.
Critical Impact
Authenticated attackers on adjacent networks can read arbitrary table schemas and row data belonging to other organizations, resulting in confidentiality loss across tenant boundaries.
Affected Products
- ToolJet self-hosted deployments prior to v3.16.208
- ToolJet multi-organization instances with the internal database feature enabled
- ToolJet installations exposing database read routes to authenticated users
Discovery Timeline
- 2026-08-31 - CVE-2026-82871 published to NVD
- 2026-09-02 - Last updated in NVD database
Technical Details for CVE-2026-82871
Vulnerability Analysis
ToolJet is an open-source low-code platform that provides each organization with an isolated internal database. The database read routes accept an organization identifier as a URL parameter but do not verify that the requesting user's session belongs to the specified organization. As a result, authorization is enforced only for authentication, not for tenant scope.
An authenticated user in organization A can issue requests that reference organization B's identifier. The backend honors the parameter, returns table listings, column definitions, and executes SELECT statements including join queries against organization B's tables. The disclosed data can include credentials, personally identifiable information, and application state stored by other tenants.
Root Cause
The root cause is missing server-side authorization on database read endpoints. The affected routes trust client-supplied organization identifiers instead of deriving the tenant scope from the authenticated session context. This design violates the principle that authorization decisions must be enforced independently of user-controlled input.
Attack Vector
Exploitation requires a valid ToolJet account and network access to the application. The attacker replaces their own organization ID in requests to the vulnerable database routes with the target organization's identifier. No user interaction is required from the victim tenant. The vulnerability requires the attacker to reach the ToolJet instance across an adjacent network path such as a corporate VPN or internal LAN. For request structure and endpoint specifics, refer to the GitHub Security Advisory GHSA-xqqj-pfc2-vf48 and the Vulncheck Advisory for ToolJet cross-organization data read.
Detection Methods for CVE-2026-82871
Indicators of Compromise
- HTTP requests to ToolJet database routes containing organization IDs that do not match the authenticated user's session organization
- Unusual volumes of table listing or schema retrieval requests from a single authenticated user account
- Successful join queries executed by users against tables outside their expected tenant scope
- Application logs showing authenticated data access spanning multiple organization identifiers within a short window
Detection Strategies
- Correlate the authenticated user's organization membership against the organization ID parameter in each database route request and alert on mismatches
- Baseline per-user query volume to internal database endpoints and flag statistical outliers
- Inspect reverse proxy or web application firewall logs for enumeration patterns against database schema endpoints
Monitoring Recommendations
- Enable verbose access logging on the ToolJet API and forward events to a centralized log platform for retention and correlation
- Monitor authentication and database read events for cross-tenant access attempts using OCSF-normalized data
- Track upstream ToolJet security advisories to identify additional affected routes disclosed after initial publication
How to Mitigate CVE-2026-82871
Immediate Actions Required
- Upgrade ToolJet to version 3.16.208 or later on all self-hosted instances
- Audit application logs for prior cross-organization access and notify impacted tenants where required by policy
- Rotate credentials, API keys, and secrets stored in ToolJet internal databases that may have been exposed
- Restrict network reachability to the ToolJet console to trusted management networks until patching is complete
Patch Information
The vulnerability is remediated in ToolJet v3.16.208. The upstream fix enforces server-side validation that the authenticated user belongs to the organization referenced by the request. Full patch details are documented in the GitHub Security Advisory GHSA-xqqj-pfc2-vf48.
Workarounds
- If immediate patching is not possible, restrict ToolJet to a single organization per instance to eliminate the cross-tenant attack surface
- Place ToolJet behind a reverse proxy that inspects and rejects requests whose organization ID parameter does not match the authenticated session claim
- Limit ToolJet account creation and revoke unused accounts to reduce the pool of potential authenticated attackers
# Upgrade ToolJet self-hosted deployment to the fixed release
docker pull tooljet/tooljet:v3.16.208
docker compose down
docker compose up -d
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

