Description
uTLS is a fork of crypto/tls, created to customize ClientHello for fingerprinting resistance while still using it for the handshake. Versions 1.6.0 through 1.8.0 contain a fingerprint mismatch with Chrome when using GREASE ECH, related to cipher suite selection. When Chrome selects the preferred cipher suite in the outer ClientHello and for ECH, it does so consistently based on hardware support—for example, if it prefers AES for the outer cipher suite, it also uses AES for ECH. However, the Chrome parrot in uTLS hardcodes AES preference for outer cipher suites but selects the ECH cipher suite randomly between AES and ChaCha20. This creates a 50% chance of selecting ChaCha20 for ECH while using AES for the outer cipher suite, a combination impossible in Chrome. This issue only affects GREASE ECH; in real ECH, Chrome selects the first valid cipher suite when AES is preferred, which uTLS handles correctly. This issue has been fixed in version 1.8.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| refraction-networking | utls | >= 1.6.0, < 1.8.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | golang-refraction-networking-utls | No fix yet | — |
| Ubuntu 26.04 LTS | golang-refraction-networking-utls | No fix yet | — |
| Ubuntu 25.10 | golang-refraction-networking-utls | No fix yet | — |
| Ubuntu 24.04 LTS | golang-refraction-networking-utls | No fix yet | — |
| Ubuntu 22.04 LTS | golang-refraction-networking-utls | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | v2ray-core | 5.51.2-1.1 | openSUSE-SU-2026:10913-1 |
| openSUSE Leap 16.0 | govulncheck-vulndb | 0.0.20260723T184607-160000.1.1 | openSUSE-SU-2026:21483-1 |
| openSUSE Leap 16.0 | v2ray-core | 5.53.0-bp160.1.1 | openSUSE-SU-2026:21653-1 |
| openSUSE Leap 15.6 | govulncheck-vulndb | 0.0.20260226T182644-150000.1.149.1 | SUSE-SU-2026:0757-1 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | nuclei | 3.7.0-r4 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/refraction-networking/utls | >= 1.6.0, < 1.8.1 | 1.8.1 | GHSA-7m29-f4hw-g2vx |
Advisories 4
- openSUSE-SU-2026:21653-1 Security update for v2ray-core SUSE / openSUSE Security Updates · Aug 27, 2026
- openSUSE-SU-2026:21483-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Jul 31, 2026
- openSUSE-SU-2026:10913-1 golang-github-v2fly-v2ray-core-5.51.2-1.1 on GA media SUSE / openSUSE Security Updates · May 31, 2026
- SUSE-SU-2026:0757-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Mar 4, 2026