External risk intelligence

Eclipse Ditto Node.js Client WebSocket Transport Certificate Validation Disabled

CVE advisorySeverity: CRITICAL (CVSS 9.2)

CVE-2026-84197

The vulnerability exists in a client-side Node.js library used to connect to Eclipse Ditto via WebSockets. While this client could be deployed in various environments, including those that connect to public endpoints, it is a development dependency and library rather than an inherently public-facing gateway or edge service.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability in the Node.js client for Eclipse Ditto could allow an attacker to intercept and manipulate communication if they can intercept the connection. This affects how the client establishes secure connections, potentially exposing credentials and messages. The primary concern is to determine if this specific client library is in use within your environment.

  • Client communication security is weakened.
  • Understand potential credential and message exposure.
  • Confirm relevance and exposure of this client.

Attack Path

How an attacker could exploit the issue

An attacker who can intercept network traffic can exploit this vulnerability to impersonate a legitimate client connecting to Eclipse Ditto via a secure WebSocket. By presenting a fake security certificate, the attacker can trick the client into establishing a connection, allowing them to steal or manipulate the data exchanged with the Ditto service for the duration of the connection.

  • Intercepted network connection.
  • WebSocket connection with disabled certificate validation.
  • Credential theft and data manipulation.

Live Threat

Current exploitation, exposure, and threat context

The Node.js client's WebSocket transport disables certificate validation, allowing an attacker who can intercept the connection to impersonate the server. This could enable the attacker to read, modify, or inject messages sent over the WebSocket connection for its duration.

  • Client authentication credentials may be exposed.
  • Connection interception enables message tampering.
  • Compromised communication integrity and confidentiality.

Operational Fix

Recommended remediation, mitigation, and detection steps

The Node.js JavaScript client for Eclipse Ditto is affected by this vulnerability. Application owners or platform teams responsible for integrating with Eclipse Ditto via WebSockets should prioritize identifying all instances of the affected client library. Confirming reachability and business criticality will help in assessing risk and planning remediation, potentially involving coordination with the Eclipse Ditto vendor.

  • Own the affected client library.
  • Verify WebSocket connections and configurations.
  • Plan vendor coordination and targeted updates.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is the Eclipse Ditto Node.js client?

The @eclipse-ditto/ditto-javascript-client-node package is a software library developers use to build Node.js applications that interact with Eclipse Ditto, an open-source framework for managing digital twins of physical objects. This specific library handles how your application communicates with the Ditto service, including managing WebSocket connections used for real-time, bidirectional data streams between the digital twin and your software.

What does CVE-2026-84197 mean for my security?

This vulnerability involves improper certificate validation (CWE-295, CWE-297, CWE-300). Specifically, the library forces an insecure state that skips verifying the digital certificates presented by the server during a WebSocket connection. Because the library essentially ignores the server's identity, an attacker who intercepts the network path can present a fraudulent certificate, tricking your client into believing it has connected securely to the legitimate Ditto service.

How can an attacker trigger this vulnerability?

An attacker must be positioned to intercept the network traffic between your client and the Ditto service. If they can sit in the middle of this connection, they can bypass TLS security, capture authentication credentials sent during the initial handshake, and interact with the data stream. Note that using the HTTP transport or the browser-based DOM client does not trigger this bug, as the issue is strictly limited to the WebSocket transport within the Node.js library.

Do I need to worry if my client is not internet-facing?

According to Halo Surface Signal, this vulnerability exists in a client-side library, not a public gateway. While it could be deployed in various environments, including those hitting public endpoints, it is a development dependency. Even in internal networks, if an attacker has established a presence, they could potentially intercept traffic. Assessing the risk depends on whether your internal network infrastructure is segmented and how you trust traffic between your internal components.

What should I do first to address this?

Your first step is to perform an inventory of your codebase to identify all services using the affected @eclipse-ditto/ditto-javascript-client-node versions. Once identified, evaluate which applications are currently using the WebSocket transport. Because the library hard-codes the insecure setting without a way to toggle it, you should consult official project security guidance or vendor updates to determine the path forward for patching or migrating to a secure configuration.

References