GHSA-pmc3-p9hx-jq96: uTLS ServerHellos are accepted without checking TLS 1.3 downgrade canaries
6.5
CVSS Score
3.1
Basic Information
CVE ID
-
GHSA ID
EPSS Score
-
CWE
Published
4/23/2025
Updated
4/23/2025
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
github.com/refraction-networking/utls | go | < 1.7.0 | 1.7.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability description clearly states that utls did not implement the TLS 1.3 downgrade protection mechanism, specifically by not checking the downgrade canary in the ServerHello random field. The provided commit f8892761e2a4d29054264651d3a86fda83bc83f9
shows modifications to the u_handshake_client.go
file. The patch introduces a check for these downgrade canaries within the clientHandshake
method of the UConn
struct. This function is where the ServerHello is processed. The absence of this check before the patch made this function vulnerable to the described downgrade attack. Therefore, (*UConn).clientHandshake
is identified as the vulnerable function.