Skip to main content

ThingsBoard EUVDEUVD-2026-31957

| CVE-2026-9568 LOW
Code Injection (CWE-94)
2026-05-26 VulDB GHSA-96jf-2v3w-hrrp
2.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Access /api/v1/provision endpoint
  2. Delivery
    Submit credential with shell metacharacters
  3. Exploit
    Trigger getMqttPublishCommand or getGatewayDockerComposeFile
  4. Execution
    Inject payload into YAML or shell output
  5. Persist
    Operator executes generated command
  6. Impact
    Achieve code injection on operator host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

The vulnerable code path is reached when getGatewayDockerComposeFile() processes a gateway host value containing control characters, or when getMqttPublishCommand() processes MQTT credential fields (clientId, userName, password, or credentialsId) containing shell metacharacters such as $, backtick, backslash, or double-quote. The CVSS PR:N metric indicates no authentication is required to reach the /api/v1/provision endpoint per the vector - however, ThingsBoard provisioning endpoints may in practice require a provisioning device key; authentication requirements should be verified against the specific ThingsBoard deployment configuration. User interaction (UI:P in CVSS 4.0, passive) is required: an authenticated operator must view or execute the generated MQTT publish command or Docker Compose file for injection to have impact beyond stored-data corruption. Exploitation is further limited to ThingsBoard instances where gateway Docker Compose generation or MQTT publish command display features are actively used and where operators execute server-generated shell output in a live terminal environment.

Impact

The CVSS 4.0 score of 2.3 accurately reflects low exploitability and limited impact: AC:H indicates high attack complexity, UI:P requires passive user interaction (an operator must view or execute the generated output), and all vulnerable-component impact metrics are rated Low (VC:L, VI:L, VA:L) with zero subsequent-scope impact (SC:N, SI:N, SA:N). EPSS of 0.04% at the 11th percentile and SSVC Exploitation: none confirm no observed active exploitation. SSVC also rates Automatable: no, consistent with the AC:H and UI:P constraints. The RCE and Code Injection tags present a potential overstatement: actual remote code execution would depend on whether the server processes the generated Docker Compose or shell commands back through an execution environment, which is not confirmed by available data. The realistic impact is likely injection into operator-facing output (a displayed shell command or downloadable YAML) rather than direct server-side RCE. The description explicitly states exploitation is difficult and the vendor has not yet responded to the responsible disclosure PR. This is not a prioritization candidate absent a specific deployment context where gateway Docker Compose generation or MQTT command display is actively used by operators.

Exploit ScenarioDerived

An attacker with access to the ThingsBoard provisioning API submits a device credential - such as a clientId containing $(malicious_command) or a backtick-delimited subshell - that gets embedded without escaping into a generated MQTT publish command displayed to an operator. When the operator copies and executes the displayed command in a terminal, the injected shell metacharacters trigger command substitution, achieving code execution on the operator's machine. No public proof-of-concept exists; high attack complexity and the requirement for operator interaction with the generated output constrain this to targeted rather than opportunistic attacks.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 08, 2026

Code injection in ThingsBoard 4.3.1.0 and 4.3.1.1 allows remote attackers to embed control characters and shell metacharacters into server-generated Docker Compose YAML files and MQTT publish commands via the /api/v1/provision endpoint's getGatewayDockerComposeFile and getMqttPublishCommand functions. Device credential fields - including clientId, userName, password, and credentialsId - are passed unsanitized into YAML and shell command construction, enabling injection of shell special characters such as $, backtick, and double-quote. No public exploit has been identified at time of analysis; SSVC rates exploitation as none and EPSS is 0.04%, though the RCE tag warrants scrutiny given the CVSS 4.0 score of only 2.3.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed. The fix is available as GitHub PR #15550 (https://github.com/thingsboard/thingsboard/pull/15550), which adds input validation rejecting control characters in device credentials and escapes shell metacharacters before command interpolation. However, as the ThingsBoard maintainers had not merged this PR at time of reporting, no official patched release version can be cited. Organizations should monitor the ThingsBoard GitHub repository (https://github.com/thingsboard/thingsboard/) for a release incorporating these changes and apply it promptly. As a compensating control, restrict network-level access to the /api/v1/provision endpoint to trusted IP ranges at the API gateway or firewall layer - note this will break unauthenticated device provisioning flows if those are in use. Additionally, enforce input validation on device credential fields (clientId, userName, password, credentialsId) at the ingestion boundary to reject control characters (0x00-0x1F, 0x7F) and shell metacharacters. If the gateway Docker Compose generation feature is not operationally required, blocking the specific endpoint sub-path reduces attack surface with no functional trade-off for deployments not using ThingsBoard IoT gateways.

Affected VersionsENISA

ThingsBoard 4.3.1.1
ThingsBoard 4.3.1.0

Affected Packages

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

ThingsBoard is an open-source IoT platform for device management and data processing. The vulnerable functions reside in DeviceConnectivityUtil.java: getGatewayDockerComposeFile() programmatically constructs a Docker Compose YAML file embedding the gateway host value and credential data, while getMqttPublishCommand() builds shell-formatted MQTT client commands using credential fields inserted inside double-quoted shell arguments. Neither function sanitized its inputs prior to the fix. The root cause is CWE-94 (Code Injection): control characters (0x00-0x1F, 0x7F) can corrupt YAML structure by introducing unexpected line breaks or null bytes, while shell metacharacters - $, backtick, backslash, double-quote - embedded in double-quoted shell arguments enable variable expansion or command substitution. The PR #15550 fix adds a CONTROL_CHARS regex pattern, a containsControlChars() validator that rejects malicious credentials at storage time, a stripControlChars() sanitizer for YAML output, and an escapeShellArg() function that escapes all four shell-dangerous characters before interpolation into command strings. The CPE string cpe:2.3:a:n/a:thingsboard:*:*:*:*:*:*:*:* uses an n/a vendor namespace, indicating incomplete NVD CPE assignment.

Know when Thingsboard 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 (VulDB) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

2
Severity Changed
May 26, 2026 - 19:22 NVD
MEDIUM LOW
CVSS changed
May 26, 2026 - 19:22 NVD
5.0 (MEDIUM) 2.3 (LOW)

DescriptionCVE.org

A weakness has been identified in ThingsBoard up to 4.3.1.1. Affected by this vulnerability is the function getGatewayDockerComposeFile of the file /api/v1/provision of the component YAML Handler. This manipulation causes code injection. It is possible to initiate the attack remotely. The attack's complexity is rated as high. The exploitation appears to be difficult. The project was informed of the problem early through a pull request but has not reacted yet.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Data Quality
7 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 LOW
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2023-45303 HIGH POC
8.8 Oct 06

ThingsBoard before 3.5 allows Server-Side Template Injection if users are allowed to modify an email template, because A

CVE-2020-27687 HIGH POC
8.8 Dec 18

ThingsBoard before v3.2 is vulnerable to Host header injection in password-reset emails. Rated high severity (CVSS 8.8),

CVE-2024-55466 MEDIUM POC
6.5 May 12

An arbitrary file upload vulnerability in the Image Gallery of ThingsBoard Community, ThingsBoard Cloud and ThingsBoard

CVE-2024-3270 MEDIUM POC
6.5 Apr 03

A vulnerability classified as problematic was found in ThingsBoard up to 3.6.2. Rated medium severity (CVSS 6.5), this v

CVE-2024-9358 MEDIUM POC
6.0 Oct 01

A vulnerability has been found in ThingsBoard up to 3.7.0 and classified as problematic. Rated medium severity (CVSS 6.0

CVE-2022-40004 CRITICAL
9.6 Dec 15

Cross Site Scripting (XSS) vulnerability in Things Board 3.4.1 allows remote attackers to escalate privilege via crafted

CVE-2022-31861 MEDIUM POC
5.4 Sep 13

Cross site Scripting (XSS) in ThingsBoard IoT Platform through 3.3.4.1 via a crafted value being sent to the audit logs.

CVE-2022-45608 HIGH
8.8 Mar 01

An issue was discovered in ThingsBoard 3.4.1, allows low privileged attackers (CUSTOMER_USER) to gain escalated privileg

CVE-2026-53676 HIGH
8.6 Jun 17

Sandbox escape via prototype pollution in ThingsBoard (versions prior to v4.3.1.2) allows a TENANT_ADMIN-authenticated u

CVE-2023-26462 HIGH
8.1 Feb 23

ThingsBoard 3.4.1 could allow a remote attacker to gain elevated privileges because hard-coded service credentials (usab

CVE-2025-34282 MEDIUM POC
6.9 Oct 17

SVG-based server-side request forgery in ThingsBoard versions prior to 4.2.1 allows upload of crafted SVG files containi

CVE-2025-9094 LOW
2.1 Aug 17

A vulnerability was detected in ThingsBoard 4.1. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploi

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