The vulnerability, identified as CVE-2026-84197, lies in the Node.js WebSocket transport of the Eclipse Ditto JavaScript client. The root cause is the hard-coding of rejectUnauthorized: false in the options for creating a WebSocket connection. This action disables critical TLS certificate and hostname validation, exposing the connection to man-in-the-middle (MITM) attacks. An attacker can intercept the connection, present an arbitrary certificate, and gain access to credentials and data.
The analysis of the provided patch commits confirms this. The primary fix, found in commit 60cad148fbd306876ba15047f1e6c0d9e60e5965, removes the rejectUnauthorized: false line from the NodeWebSocket.buildInstance function in javascript/lib/node/src/node-websocket.ts. This function is the main entry point for creating a new WebSocket connection and is therefore the primary vulnerable function.
Additionally, the NodeWebSocket.reconnect function was identified as vulnerable because it reuses the same insecure options when re-establishing a connection. Any application using the reconnect functionality would also be exposed to the vulnerability. The patch ensures that new connections, whether initial or re-established, will use Node.js's secure defaults for TLS validation.