CVE-2026-44726 PUBLISHED

Deno: TLS retry copies stale upgrade hook, risking plaintext traffic

Assigner: GitHub_M
Reserved: 07.05.2026 Published: 23.06.2026 Updated: 24.06.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS Score: 7.4

Product Status

Vendor denoland
Product deno
Versions
  • Version >= 2.0.0, < 2.7.8 is affected

References

Problem Types

  • CWE-319: Cleartext Transmission of Sensitive Information CWE