CVE-2026-26994
published 2026-02-20CVE-2026-26994: uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake. In versions 1.6.7 and…
PriorityP337medium6.5CVSS 3.1
AVNACLPRNUINSUCLILAN
EPSS
0.28%
20.5th percentile
uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake. In versions 1.6.7 and below, uTLS did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a uTLS ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a uTLS client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because uTLS did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack. This attack could also be used by an active network attacker to fingerprint uTLS connections. This issue has been fixed in version 1.7.0.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | golang-refraction-networking-utls | — | — |
| github.com | refraction-networking_utls | >= 0 < 1.7.0 | 1.7.0 |
| github.com | refraction-networking_utls | >= 1.0.0 < 1.7.0 | 1.7.0 |
| refraction-networking | utls | < 1.7.0 | 1.7.0 |
CVSS provenance
nvdv3.16.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
osv6.5MEDIUM
vendor_debian6.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2026-26994: uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake
osv·2026-02-20·CVSS 6.5
CVE-2026-26994 [MEDIUM] CVE-2026-26994: uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake
uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake. In versions 1.6.7 and below, uTLS did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a uTLS ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a uTLS client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because uTLS did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack.
OSV
ServerHellos are accepted without checking TLS 1.3 downgrade canaries in github.com/refraction-networking/utls
osv·2025-04-24
CVE-2026-26994 ServerHellos are accepted without checking TLS 1.3 downgrade canaries in github.com/refraction-networking/utls
ServerHellos are accepted without checking TLS 1.3 downgrade canaries in github.com/refraction-networking/utls
Before version 1.7.0, utls did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a utls ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a utls client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because utls did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack. This attack could also be u
OSV
uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
osv·2025-04-23
CVE-2026-26994 [MEDIUM] uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
### Description
Before version 1.7.0, utls did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a utls ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a utls client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because utls did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack. This attack could also be used by an active net
GHSA
uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
ghsa·2025-04-23
CVE-2026-26994 [MEDIUM] CWE-693 uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
### Description
Before version 1.7.0, utls did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a utls ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a utls client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because utls did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack. This attack could also be used by an active net
Debian
CVE-2026-26994: golang-refraction-networking-utls - uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprintin...
vendor_debian·2026·CVSS 6.5
CVE-2026-26994 [MEDIUM] CVE-2026-26994: golang-refraction-networking-utls - uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprintin...
uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake. In versions 1.6.7 and below, uTLS did not implement the TLS 1.3 downgrade protection mechanism specified in RFC 8446 Section 4.1.3 when using a uTLS ClientHello spec. This allowed an active network adversary to downgrade TLS 1.3 connections initiated by a uTLS client to a lower TLS version (e.g., TLS 1.2) by modifying the ClientHello message to exclude the SupportedVersions extension, causing the server to respond with a TLS 1.2 ServerHello (along with a downgrade canary in the ServerHello random field). Because uTLS did not check the downgrade canary in the ServerHello random field, clients would accept the downgraded connection without detecting the attack.
No detection rules found.
No public exploits indexed.
2026-02-20
Published