GO-2026-4337

Source
https://pkg.go.dev/vuln/GO-2026-4337
Import Source
https://vuln.go.dev/ID/GO-2026-4337.json
JSON Data
https://api.osv.dev/v1/vulns/GO-2026-4337
Aliases
Published
2026-02-05T17:23:09Z
Modified
2026-02-05T18:11:18.077689Z
Summary
Unexpected session resumption in crypto/tls
Details

During session resumption in crypto/tls, if the underlying Config has its ClientCAs or RootCAs fields mutated between the initial handshake and the resumed handshake, the resumed handshake may succeed when it should have failed. This may happen when a user calls Config.Clone and mutates the returned Config, or uses Config.GetConfigForClient. This can cause a client to resume a session with a server that it would not have resumed with during the initial handshake, or cause a server to resume a session with a client that it would not have resumed with during the initial handshake.

Database specific
{
    "url": "https://pkg.go.dev/vuln/GO-2026-4337",
    "review_status": "REVIEWED"
}
References
Credits
    • Coia Prant (github.com/rbqvq)
    • Go Security Team

Affected packages

Go / stdlib

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.24.13
Introduced
1.25.0-0
Fixed
1.25.7
Introduced
1.26.0-rc.1
Fixed
1.26.0-rc.3

Ecosystem specific

{
    "imports": [
        {
            "symbols": [
                "Conn.Handshake",
                "Conn.HandshakeContext",
                "Conn.Read",
                "Conn.Write",
                "Conn.handshakeContext",
                "Dial",
                "DialWithDialer",
                "Dialer.Dial",
                "Dialer.DialContext",
                "QUICConn.Start"
            ],
            "path": "crypto/tls"
        }
    ]
}

Database specific

source
"https://vuln.go.dev/ID/GO-2026-4337.json"