CVE-2026-44726
Undergoing Analysis Undergoing Analysis - In Progress
Deno Node.js TLS Compatibility Plaintext Transmission Vulnerability

Publication date: 2026-06-23

Last updated on: 2026-06-23

Assigner: GitHub, Inc.

Description
Deno is a JavaScript, TypeScript, and WebAssembly runtime. From 2.0.0 until 2.7.8, a flaw in Deno's Node.js tls compatibility layer could cause a TLS client to transmit application data in plaintext after a connection retry. When `autoSelectFamily was enabled and the first address-family attempt failed, the socket reinitialization path reused a stale TLS upgrade hook that was bound to the original, failed handle. As a result, the replacement TCP connection was never upgraded to TLS, and any data the application wrote before the secureConnect event travelled over the network unencrypted. A network attacker positioned to cause the initial connection attempt to fail (for example, by dropping IPv6 traffic on a dual-stack host) could deterministically trigger the fallback path and observe or tamper with traffic that the application believed was TLS-protected. This vulnerability is fixed in 2.7.8.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-23
Last Modified
2026-06-23
Generated
2026-06-24
AI Q&A
2026-06-23
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
denoland deno to 2.7.8 (inc)
denoland deno 2.7.8
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-319 The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in Deno's Node.js TLS compatibility layer when the `autoSelectFamily` option is enabled. If the first attempt to connect using one address family (like IPv6) fails, the system retries with another address family (like IPv4). However, during this retry, the socket reinitializes but mistakenly reuses an old TLS upgrade hook from the failed connection. This causes the new TCP connection to not be upgraded to TLS, meaning data sent before the secure connection is fully established is transmitted in plaintext over the network.

An attacker who can cause the initial connection attempt to fail (for example, by dropping IPv6 traffic on a dual-stack host) can exploit this flaw to intercept or modify sensitive data that the application believes is protected by TLS.

Impact Analysis

This vulnerability can lead to the exposure of sensitive information such as authentication tokens and request bodies because data that should be encrypted is sent in plaintext. An attacker positioned on the network can observe or tamper with this data, compromising confidentiality and integrity.

The impact includes potential unauthorized access, data leakage, and manipulation of transmitted data, which can undermine the security of applications relying on Deno's TLS implementation.

Detection Guidance

This vulnerability can be detected by monitoring network traffic for unexpected plaintext transmission of data that should be encrypted by TLS, especially after connection retries when using Deno's Node.js TLS compatibility layer with autoSelectFamily enabled.

Specifically, look for application data sent in cleartext before the TLS secureConnect event, which indicates the socket was not properly upgraded to TLS.

Commands to help detect this might include using network packet capture tools such as tcpdump or Wireshark to inspect traffic on affected hosts for unencrypted sensitive data on ports normally secured by TLS (e.g., port 443). For example:

  • tcpdump -i <interface> -A port 443
  • wireshark filtering for TLS traffic and checking for any plaintext application data before the TLS handshake completes

Additionally, reviewing application logs or enabling debug logging in Deno for TLS connection events might help identify if the secureConnect event is delayed or missing after connection retries.

Mitigation Strategies

The immediate mitigation step is to upgrade Deno to version 2.7.8 or later, where this vulnerability has been fixed.

Until the upgrade can be applied, consider disabling or carefully managing the use of the autoSelectFamily feature to avoid triggering the fallback path that causes the TLS upgrade failure.

Also, avoid writing application data to the socket before the secureConnect event has occurred to prevent sending unencrypted data.

Network administrators can also monitor and prevent attackers from causing initial connection failures, such as by ensuring IPv6 traffic is not dropped on dual-stack hosts.

Compliance Impact

This vulnerability causes application data to be transmitted in plaintext over the network after a connection retry, exposing sensitive information such as authentication tokens and request bodies to potential interception or tampering by attackers.

Such exposure of sensitive data in transit can lead to violations of common security requirements found in standards and regulations like GDPR and HIPAA, which mandate the protection of personal and sensitive information during transmission.

Therefore, applications using affected versions of Deno with the vulnerable TLS compatibility layer may fail to meet compliance obligations related to data confidentiality and integrity until the vulnerability is patched.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44726. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart