CVE-2025-22869 (GCVE-0-2025-22869)
Vulnerability from cvelistv5 – Published: 2025-02-26 03:07 – Updated: 2025-04-11 22:03
VLAI
EPSS
VEX
Title
Potential denial of service in golang.org/x/crypto
Summary
SSH servers which implement file transfer protocols are vulnerable to a denial of service attack from clients which complete the key exchange slowly, or not at all, causing pending content to be read into memory, but never transmitted.
Severity
7.5 (High)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-770 - Allocation of Resources Without Limits or Throttling
Assigner
References
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| golang.org/x/crypto | golang.org/x/crypto/ssh |
Affected:
0 , < 0.35.0
(semver)
|
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2025-22869",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-02-26T14:57:07.968721Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-770",
"description": "CWE-770 Allocation of Resources Without Limits or Throttling",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-02-26T14:57:49.252Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2025-04-11T22:03:24.222Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "https://security.netapp.com/advisory/ntap-20250411-0010/"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://pkg.go.dev",
"defaultStatus": "unaffected",
"packageName": "golang.org/x/crypto/ssh",
"product": "golang.org/x/crypto/ssh",
"programRoutines": [
{
"name": "newHandshakeTransport"
},
{
"name": "handshakeTransport.recordWriteError"
},
{
"name": "handshakeTransport.kexLoop"
},
{
"name": "handshakeTransport.writePacket"
},
{
"name": "Client.Dial"
},
{
"name": "Client.DialContext"
},
{
"name": "Client.DialTCP"
},
{
"name": "Client.Listen"
},
{
"name": "Client.ListenTCP"
},
{
"name": "Client.ListenUnix"
},
{
"name": "Client.NewSession"
},
{
"name": "Dial"
},
{
"name": "DiscardRequests"
},
{
"name": "NewClient"
},
{
"name": "NewClientConn"
},
{
"name": "NewServerConn"
},
{
"name": "Request.Reply"
},
{
"name": "Session.Close"
},
{
"name": "Session.CombinedOutput"
},
{
"name": "Session.Output"
},
{
"name": "Session.RequestPty"
},
{
"name": "Session.RequestSubsystem"
},
{
"name": "Session.Run"
},
{
"name": "Session.SendRequest"
},
{
"name": "Session.Setenv"
},
{
"name": "Session.Shell"
},
{
"name": "Session.Signal"
},
{
"name": "Session.Start"
},
{
"name": "Session.WindowChange"
},
{
"name": "channel.Accept"
},
{
"name": "channel.Close"
},
{
"name": "channel.CloseWrite"
},
{
"name": "channel.Read"
},
{
"name": "channel.ReadExtended"
},
{
"name": "channel.Reject"
},
{
"name": "channel.SendRequest"
},
{
"name": "channel.Write"
},
{
"name": "channel.WriteExtended"
},
{
"name": "connection.SendAuthBanner"
},
{
"name": "curve25519sha256.Client"
},
{
"name": "curve25519sha256.Server"
},
{
"name": "dhGEXSHA.Client"
},
{
"name": "dhGEXSHA.Server"
},
{
"name": "dhGroup.Client"
},
{
"name": "dhGroup.Server"
},
{
"name": "ecdh.Client"
},
{
"name": "ecdh.Server"
},
{
"name": "extChannel.Read"
},
{
"name": "extChannel.Write"
},
{
"name": "mux.OpenChannel"
},
{
"name": "mux.SendRequest"
},
{
"name": "sessionStdin.Close"
},
{
"name": "sshClientKeyboardInteractive.Challenge"
},
{
"name": "tcpListener.Accept"
},
{
"name": "tcpListener.Close"
},
{
"name": "unixListener.Accept"
},
{
"name": "unixListener.Close"
}
],
"vendor": "golang.org/x/crypto",
"versions": [
{
"lessThan": "0.35.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"value": "Yuichi Watanabe"
}
],
"descriptions": [
{
"lang": "en",
"value": "SSH servers which implement file transfer protocols are vulnerable to a denial of service attack from clients which complete the key exchange slowly, or not at all, causing pending content to be read into memory, but never transmitted."
}
],
"problemTypes": [
{
"descriptions": [
{
"description": "CWE-770: Allocation of Resources Without Limits or Throttling",
"lang": "en"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-02-26T03:07:48.855Z",
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
"shortName": "Go"
},
"references": [
{
"url": "https://go.dev/cl/652135"
},
{
"url": "https://go.dev/issue/71931"
},
{
"url": "https://pkg.go.dev/vuln/GO-2025-3487"
}
],
"title": "Potential denial of service in golang.org/x/crypto"
}
},
"cveMetadata": {
"assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
"assignerShortName": "Go",
"cveId": "CVE-2025-22869",
"datePublished": "2025-02-26T03:07:48.855Z",
"dateReserved": "2025-01-08T19:11:42.834Z",
"dateUpdated": "2025-04-11T22:03:24.222Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2025-22869",
"date": "2026-07-09",
"epss": "0.00868",
"percentile": "0.54428"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2025-22869\",\"sourceIdentifier\":\"security@golang.org\",\"published\":\"2025-02-26T08:14:24.997\",\"lastModified\":\"2026-06-17T08:50:40.113\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"SSH servers which implement file transfer protocols are vulnerable to a denial of service attack from clients which complete the key exchange slowly, or not at all, causing pending content to be read into memory, but never transmitted.\"},{\"lang\":\"es\",\"value\":\"Los servidores SSH que implementan protocolos de transferencia de archivos son vulnerables a un ataque de denegaci\u00f3n de servicio por parte de clientes que completan el intercambio de claves lentamente o no lo completan en absoluto, lo que provoca que el contenido pendiente se lea en la memoria, pero nunca se transmita.\"}],\"affected\":[{\"source\":\"security@golang.org\",\"affectedData\":[{\"vendor\":\"golang.org/x/crypto\",\"product\":\"golang.org/x/crypto/ssh\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://pkg.go.dev\",\"packageName\":\"golang.org/x/crypto/ssh\",\"programRoutines\":[{\"name\":\"newHandshakeTransport\"},{\"name\":\"handshakeTransport.recordWriteError\"},{\"name\":\"handshakeTransport.kexLoop\"},{\"name\":\"handshakeTransport.writePacket\"},{\"name\":\"Client.Dial\"},{\"name\":\"Client.DialContext\"},{\"name\":\"Client.DialTCP\"},{\"name\":\"Client.Listen\"},{\"name\":\"Client.ListenTCP\"},{\"name\":\"Client.ListenUnix\"},{\"name\":\"Client.NewSession\"},{\"name\":\"Dial\"},{\"name\":\"DiscardRequests\"},{\"name\":\"NewClient\"},{\"name\":\"NewClientConn\"},{\"name\":\"NewServerConn\"},{\"name\":\"Request.Reply\"},{\"name\":\"Session.Close\"},{\"name\":\"Session.CombinedOutput\"},{\"name\":\"Session.Output\"},{\"name\":\"Session.RequestPty\"},{\"name\":\"Session.RequestSubsystem\"},{\"name\":\"Session.Run\"},{\"name\":\"Session.SendRequest\"},{\"name\":\"Session.Setenv\"},{\"name\":\"Session.Shell\"},{\"name\":\"Session.Signal\"},{\"name\":\"Session.Start\"},{\"name\":\"Session.WindowChange\"},{\"name\":\"channel.Accept\"},{\"name\":\"channel.Close\"},{\"name\":\"channel.CloseWrite\"},{\"name\":\"channel.Read\"},{\"name\":\"channel.ReadExtended\"},{\"name\":\"channel.Reject\"},{\"name\":\"channel.SendRequest\"},{\"name\":\"channel.Write\"},{\"name\":\"channel.WriteExtended\"},{\"name\":\"connection.SendAuthBanner\"},{\"name\":\"curve25519sha256.Client\"},{\"name\":\"curve25519sha256.Server\"},{\"name\":\"dhGEXSHA.Client\"},{\"name\":\"dhGEXSHA.Server\"},{\"name\":\"dhGroup.Client\"},{\"name\":\"dhGroup.Server\"},{\"name\":\"ecdh.Client\"},{\"name\":\"ecdh.Server\"},{\"name\":\"extChannel.Read\"},{\"name\":\"extChannel.Write\"},{\"name\":\"mux.OpenChannel\"},{\"name\":\"mux.SendRequest\"},{\"name\":\"sessionStdin.Close\"},{\"name\":\"sshClientKeyboardInteractive.Challenge\"},{\"name\":\"tcpListener.Accept\"},{\"name\":\"tcpListener.Close\"},{\"name\":\"unixListener.Accept\"},{\"name\":\"unixListener.Close\"}],\"versions\":[{\"version\":\"0\",\"lessThan\":\"0.35.0\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"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:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2025-02-26T14:57:07.968721Z\",\"id\":\"CVE-2025-22869\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"yes\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-770\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:go:ssh:*:*:*:*:*:go:*:*\",\"versionEndExcluding\":\"0.35.0\",\"matchCriteriaId\":\"311D718D-7E78-4EFC-A3B6-0D20C28956C9\"}]}]}],\"references\":[{\"url\":\"https://go.dev/cl/652135\",\"source\":\"security@golang.org\",\"tags\":[\"Patch\"]},{\"url\":\"https://go.dev/issue/71931\",\"source\":\"security@golang.org\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://pkg.go.dev/vuln/GO-2025-3487\",\"source\":\"security@golang.org\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://security.netapp.com/advisory/ntap-20250411-0010/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://security.netapp.com/advisory/ntap-20250411-0010/\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-04-11T22:03:24.222Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.5, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-22869\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-02-26T14:57:07.968721Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-770\", \"description\": \"CWE-770 Allocation of Resources Without Limits or Throttling\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-02-26T14:57:39.044Z\"}}], \"cna\": {\"title\": \"Potential denial of service in golang.org/x/crypto\", \"credits\": [{\"lang\": \"en\", \"value\": \"Yuichi Watanabe\"}], \"affected\": [{\"vendor\": \"golang.org/x/crypto\", \"product\": \"golang.org/x/crypto/ssh\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"0.35.0\", \"versionType\": \"semver\"}], \"packageName\": \"golang.org/x/crypto/ssh\", \"collectionURL\": \"https://pkg.go.dev\", \"defaultStatus\": \"unaffected\", \"programRoutines\": [{\"name\": \"newHandshakeTransport\"}, {\"name\": \"handshakeTransport.recordWriteError\"}, {\"name\": \"handshakeTransport.kexLoop\"}, {\"name\": \"handshakeTransport.writePacket\"}, {\"name\": \"Client.Dial\"}, {\"name\": \"Client.DialContext\"}, {\"name\": \"Client.DialTCP\"}, {\"name\": \"Client.Listen\"}, {\"name\": \"Client.ListenTCP\"}, {\"name\": \"Client.ListenUnix\"}, {\"name\": \"Client.NewSession\"}, {\"name\": \"Dial\"}, {\"name\": \"DiscardRequests\"}, {\"name\": \"NewClient\"}, {\"name\": \"NewClientConn\"}, {\"name\": \"NewServerConn\"}, {\"name\": \"Request.Reply\"}, {\"name\": \"Session.Close\"}, {\"name\": \"Session.CombinedOutput\"}, {\"name\": \"Session.Output\"}, {\"name\": \"Session.RequestPty\"}, {\"name\": \"Session.RequestSubsystem\"}, {\"name\": \"Session.Run\"}, {\"name\": \"Session.SendRequest\"}, {\"name\": \"Session.Setenv\"}, {\"name\": \"Session.Shell\"}, {\"name\": \"Session.Signal\"}, {\"name\": \"Session.Start\"}, {\"name\": \"Session.WindowChange\"}, {\"name\": \"channel.Accept\"}, {\"name\": \"channel.Close\"}, {\"name\": \"channel.CloseWrite\"}, {\"name\": \"channel.Read\"}, {\"name\": \"channel.ReadExtended\"}, {\"name\": \"channel.Reject\"}, {\"name\": \"channel.SendRequest\"}, {\"name\": \"channel.Write\"}, {\"name\": \"channel.WriteExtended\"}, {\"name\": \"connection.SendAuthBanner\"}, {\"name\": \"curve25519sha256.Client\"}, {\"name\": \"curve25519sha256.Server\"}, {\"name\": \"dhGEXSHA.Client\"}, {\"name\": \"dhGEXSHA.Server\"}, {\"name\": \"dhGroup.Client\"}, {\"name\": \"dhGroup.Server\"}, {\"name\": \"ecdh.Client\"}, {\"name\": \"ecdh.Server\"}, {\"name\": \"extChannel.Read\"}, {\"name\": \"extChannel.Write\"}, {\"name\": \"mux.OpenChannel\"}, {\"name\": \"mux.SendRequest\"}, {\"name\": \"sessionStdin.Close\"}, {\"name\": \"sshClientKeyboardInteractive.Challenge\"}, {\"name\": \"tcpListener.Accept\"}, {\"name\": \"tcpListener.Close\"}, {\"name\": \"unixListener.Accept\"}, {\"name\": \"unixListener.Close\"}]}], \"references\": [{\"url\": \"https://go.dev/cl/652135\"}, {\"url\": \"https://go.dev/issue/71931\"}, {\"url\": \"https://pkg.go.dev/vuln/GO-2025-3487\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"SSH servers which implement file transfer protocols are vulnerable to a denial of service attack from clients which complete the key exchange slowly, or not at all, causing pending content to be read into memory, but never transmitted.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"description\": \"CWE-770: Allocation of Resources Without Limits or Throttling\"}]}], \"providerMetadata\": {\"orgId\": \"1bb62c36-49e3-4200-9d77-64a1400537cc\", \"shortName\": \"Go\", \"dateUpdated\": \"2025-02-26T03:07:48.855Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2025-22869\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-04-11T22:03:24.222Z\", \"dateReserved\": \"2025-01-08T19:11:42.834Z\", \"assignerOrgId\": \"1bb62c36-49e3-4200-9d77-64a1400537cc\", \"datePublished\": \"2025-02-26T03:07:48.855Z\", \"assignerShortName\": \"Go\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…