Skip to main content

ThingLinks CVE-2026-62853

| EUVDEUVD-2026-114455 CRITICAL
OS Command Injection (CWE-78)
2026-10-30 GitHub_M
9.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 ThingLinks with low-privilege account
  2. Delivery
    POST crafted Groovy to /groovyScriptTest/registerScript
  3. Exploit
    Unsandboxed Groovy compilation and loading
  4. Execution
    Arbitrary code runs as service
  5. Impact
    Server-side command execution and host compromise

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

Requires (1) a valid authenticated session on the ThingLinks platform (CVSS PR:L - a low-privilege account suffices) and (2) network reachability to the rule engine's /groovyScriptTest/registerScript endpoint, which accepts user-supplied Groovy script content and routes it into an unsandboxed Groovy compilation and loading flow. No user interaction, no non-default configuration, and no specific platform are needed - the vulnerable test/register flow is present by default in affected versions below 1.4.0. The single limiting factor is authentication: exploitation is gated on obtaining or abusing an authenticated account, so risk is highest where the ThingLinks management interface is exposed to untrusted or lower-trust authenticated users. Fixed in 1.4.0, which restricts this endpoint and updates the Groovy script handling path.

Impact

This is a genuine high-priority issue, not a high-CVSS-but-low-risk artifact. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C) describes network-reachable, low-complexity exploitation requiring only low-privilege authentication, and the mechanism - unsandboxed Groovy compilation and instantiation of attacker-supplied script content - is a direct, reliable path to server-side code execution rather than a theoretical memory-safety condition. The vuln.today Decision label is act_now, reinforcing urgency. Countervailing signals: no EPSS score is provided, this CVE is NOT listed in CISA KEV, and no verified working exploit code is supplied (the references are the GHSA advisory, the fix commit, and the v1.4.0 release tag - not a PoC). So there is no evidence of active exploitation or public weaponization at this time; the act_now rating rests on the directness and impact of the flaw plus low attack complexity rather than observed in-the-wild use. Note a data discrepancy: the primary CWE in the input is CWE-78 (OS Command Injection), but the GHSA advisory assigns CWE-78 and CWE-94 (Code Injection); the described mechanism - compiling and running arbitrary Groovy - is more precisely code injection (CWE-94) than OS command injection. The barrier to exploitation is authentication, so real-world risk concentrates on deployments exposing authenticated panels to untrusted or lower-trust users.

Exploit ScenarioDerived

An attacker who holds any authenticated account on a ThingLinks instance (prior to 1.4.0) sends a request to the rule engine's /groovyScriptTest/registerScript endpoint containing malicious Groovy code. Because the script is compiled and instantiated without sandboxing, the code runs on the server with the privileges of the ThingLinks service, yielding arbitrary command execution. No user interaction and no special timing is required, and attack complexity is low; no public exploit code was identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 30, 2026

Authenticated remote code execution in ThingLinks below 1.4.0 lets any low-privilege account submit attacker-controlled Groovy script content to the /groovyScriptTest/registerScript endpoint, which is compiled and instantiated without a sandbox and therefore executes server-side with the application's privileges. The flaw sits in the rule engine's Groovy script test/register flow and is fixed in 1.4.0; no public exploit code was identified at time of analysis, but the only prerequisites are a valid authenticated session and network reachability to the endpoint, so risk is highest where the management interface is exposed to untrusted or lower-trust users. This is a genuine high-priority issue rather than a high-score-but-low-risk artifact, and the vendor advisory plus upstream commit and 1.4.0 release tag are all publicly available.

RemediationAI

Vendor-released patch: ThingLinks 1.4.0 (release tag v1.4.0, https://github.com/mqttsnet/thinglinks/releases/tag/v1.4.0). Upgrading restricts the /groovyScriptTest/registerScript endpoint and updates the Groovy script handling path; the advisory states the fixed line uses the com.mqttsnet.basic dependency based on thinglinks-parent 1.0.8.3, so align parent and dependency versions with the 1.4.0 release rather than bumping only the rule module. Where upgrading cannot be done immediately, block /groovyScriptTest/registerScript at the gateway or reverse proxy and allow it only from trusted administrative networks, or remove/disable that script test-register route in the rule engine service - the trade-off is that rule authors lose the interactive Groovy test capability, and the unsandboxed compilation path remains in place until the upgrade. Because a low-privilege authenticated session is the sole prerequisite, also review who holds accounts on the platform and restrict access to the management interface from untrusted networks. Fix commit: https://github.com/mqttsnet/thinglinks/commit/311ee760dad798f48652722989fcea02349e13a3; advisory: https://github.com/mqttsnet/thinglinks/security/advisories/GHSA-9vph-5ccx-qp9v.

Affected VersionsENISA

thinglinks < 1.4.0

Affected Packages

euvd thinglinks fix: 1.4.0

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

ThingLinks is a Java/Spring Cloud-based enterprise IoT platform, and its rule engine allows operators to embed Groovy scripts in rules. The /groovyScriptTest/registerScript endpoint was built to let rule authors test and register such scripts, but it forwards user-supplied content directly into an unsandboxed Groovy compilation and class-loading path - no allowlist, AST customizer, or restricted classloader is described in the available sources. Because compiled Groovy executes inside the application JVM with the service's own privileges, submitted code can read or alter platform data, spawn operating-system processes, and pivot across the microservice deployment, which is why the advisory classifies the weakness both as code injection (CWE-94) and as command injection (CWE-78). The affected artifact is maven/com.mqttsnet.thinglinks:thinglinks-rule, vulnerable before 1.4.0; the referenced upstream commit 311ee760dad798f48652722989fcea02349e13a3 reworks rule-engine trigger and cache plumbing, while the advisory attributes the security fix to restricting this endpoint and moving to the fixed com.mqttsnet.basic dependency line based on thinglinks-parent 1.0.8.3. The assessed vector keeps scope unchanged (S:U) with high confidentiality, integrity and availability impact, and the trigger is described only as script content reaching the compilation/instantiation flow - the sources do not detail any further preconditions beyond authentication.

Know when Thinglinks 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 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable endpoint, low complexity, requires a low-privilege authenticated account (PR:L); code executes as the vulnerable service itself so scope is Unchanged, with full C/I/A loss on that host.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 22:03 EUVD
CVE Published
Oct 30, 2026 - 20:28 cve.org
CRITICAL 9.9

DescriptionCVE.org

ThingLinks is an enterprise IoT platform. Prior to 1.4.0, the /groovyScriptTest/registerScript endpoint accepts user-supplied Groovy script content and passes it to an unsandboxed Groovy compilation and loading flow. An authenticated attacker can provide code that is compiled and instantiated on the server, resulting in arbitrary server-side code execution. The issue affects the rule engine's Groovy script test/register flow. This issue is fixed in version 1.4.0.

Technical POC Analysis

Primary assigned CWE: CWE-78, OS Command Injection.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A critical vulnerability in ThingLinks (versions below 1.4.0) allows authenticated low-privilege users to execute arbitrary code on the server, potentially compromising the entire application and its data. This poses a significant risk to organizations using the product, especially if the management interface is accessible to untrusted users or networks.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
niche open-source IoT platform (mqttsnet/thinglinks), limited enterprise footprint
Data Quality
5 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
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.

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

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