{"api_version":"1","generated_at":"2026-05-12T16:27:36+00:00","cve":"CVE-2025-68121","urls":{"html":"https://cve.report/CVE-2025-68121","api":"https://cve.report/api/cve/CVE-2025-68121.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2025-68121","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2025-68121"},"summary":{"title":"Unexpected session resumption in crypto/tls","description":"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.","state":"PUBLISHED","assigner":"Go","published_at":"2026-02-05 18:16:10","updated_at":"2026-04-29 14:16:16"},"problem_types":["CWE-295","CWE-295: Improper Certificate Validation","CWE-295 CWE-295 Improper Certificate Validation"],"metrics":[{"version":"3.1","source":"nvd@nist.gov","type":"Primary","score":"10","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","baseScore":10,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"ADP","type":"DECLARED","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}},{"version":"3.1","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"}}],"references":[{"url":"https://pkg.go.dev/vuln/GO-2026-4337","name":"https://pkg.go.dev/vuln/GO-2026-4337","refsource":"security@golang.org","tags":["Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://groups.google.com/g/golang-announce/c/K09ubi9FQFk","name":"https://groups.google.com/g/golang-announce/c/K09ubi9FQFk","refsource":"security@golang.org","tags":["Mailing List","Third Party Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://go.dev/issue/77217","name":"https://go.dev/issue/77217","refsource":"security@golang.org","tags":["Exploit","Issue Tracking"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://go.dev/cl/737700","name":"https://go.dev/cl/737700","refsource":"security@golang.org","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-68121","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-68121","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Go standard library","product":"crypto/tls","version":"affected 1.24.13 semver","platforms":[]},{"source":"CNA","vendor":"Go standard library","product":"crypto/tls","version":"affected 1.25.0-0 1.25.7 semver","platforms":[]},{"source":"CNA","vendor":"Go standard library","product":"crypto/tls","version":"affected 1.26.0-rc.1 1.26.0-rc.3 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Coia Prant (github.com/rbqvq)","lang":"en"},{"source":"CNA","value":"Go Security Team","lang":"en"}],"nvd_cpes":[{"cve_year":"2025","cve_id":"68121","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"golang","cpe5":"go","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}},{"other":{"content":{"id":"CVE-2025-68121","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-04-29T03:55:46.305385Z","version":"2.0.3"},"type":"ssvc"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-295","description":"CWE-295 Improper Certificate Validation","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-29T13:29:25.582Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"collectionURL":"https://pkg.go.dev","defaultStatus":"unaffected","packageName":"crypto/tls","product":"crypto/tls","programRoutines":[{"name":"Conn.handshakeContext"},{"name":"Conn.Handshake"},{"name":"Conn.HandshakeContext"},{"name":"Conn.Read"},{"name":"Conn.Write"},{"name":"Dial"},{"name":"DialWithDialer"},{"name":"Dialer.Dial"},{"name":"Dialer.DialContext"},{"name":"QUICConn.Start"}],"vendor":"Go standard library","versions":[{"lessThan":"1.24.13","status":"affected","version":"0","versionType":"semver"},{"lessThan":"1.25.7","status":"affected","version":"1.25.0-0","versionType":"semver"},{"lessThan":"1.26.0-rc.3","status":"affected","version":"1.26.0-rc.1","versionType":"semver"}]}],"credits":[{"lang":"en","value":"Coia Prant (github.com/rbqvq)"},{"lang":"en","value":"Go Security Team"}],"descriptions":[{"lang":"en","value":"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."}],"problemTypes":[{"descriptions":[{"description":"CWE-295: Improper Certificate Validation","lang":"en"}]}],"providerMetadata":{"dateUpdated":"2026-02-05T17:48:44.141Z","orgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","shortName":"Go"},"references":[{"url":"https://groups.google.com/g/golang-announce/c/K09ubi9FQFk"},{"url":"https://go.dev/cl/737700"},{"url":"https://go.dev/issue/77217"},{"url":"https://pkg.go.dev/vuln/GO-2026-4337"}],"title":"Unexpected session resumption in crypto/tls"}},"cveMetadata":{"assignerOrgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","assignerShortName":"Go","cveId":"CVE-2025-68121","datePublished":"2026-02-05T17:48:44.141Z","dateReserved":"2025-12-15T16:48:04.451Z","dateUpdated":"2026-04-29T13:29:25.582Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-02-05 18:16:10","lastModifiedDate":"2026-04-29 14:16:16","problem_types":["CWE-295","CWE-295: Improper Certificate Validation","CWE-295 CWE-295 Improper Certificate Validation"],"metrics":{"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","baseScore":10,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":6},{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*","versionEndExcluding":"1.24.13","matchCriteriaId":"9FEE539A-EDC2-4044-A38C-5A0FDF567509"},{"vulnerable":true,"criteria":"cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*","versionStartIncluding":"1.25.0","versionEndExcluding":"1.25.7","matchCriteriaId":"B275853C-E253-485B-B469-31D1A7383965"},{"vulnerable":true,"criteria":"cpe:2.3:a:golang:go:1.26.0:rc1:*:*:*:*:*:*","matchCriteriaId":"E529A0EC-B944-4E2F-B26A-2A9F31AFF240"},{"vulnerable":true,"criteria":"cpe:2.3:a:golang:go:1.26.0:rc2:*:*:*:*:*:*","matchCriteriaId":"553D6D90-140E-4A54-86A3-00E66AC30F3C"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2025","CveId":"68121","Ordinal":"1","Title":"Unexpected session resumption in crypto/tls","CVE":"CVE-2025-68121","Year":"2025"},"notes":[{"CveYear":"2025","CveId":"68121","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Unexpected session resumption in crypto/tls"}]}}}