blob: ce2daf78d32d2a05b2d8f97cfa8a4f117da724c9 [file] [log] [blame]
{
"dataType": "CVE_RECORD",
"dataVersion": "5.0",
"cveMetadata": {
"cveId": "CVE-2022-41724"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc"
},
"descriptions": [
{
"lang": "en",
"value": "Large handshake records may cause panics in crypto/tls. Both clients and servers may send large TLS handshake records which cause servers and clients, respectively, to panic when attempting to construct responses. This affects all TLS 1.3 clients, TLS 1.2 clients which explicitly enable session resumption (by setting Config.ClientSessionCache to a non-nil value), and TLS 1.3 servers which request client certificates (by setting Config.ClientAuth \u003e= RequestClientCert)."
}
],
"affected": [
{
"vendor": "Go standard library",
"product": "crypto/tls",
"collectionURL": "https://pkg.go.dev",
"packageName": "crypto/tls",
"versions": [
{
"version": "0",
"lessThan": "1.19.6",
"status": "affected",
"versionType": "semver"
},
{
"version": "1.20.0",
"lessThan": "1.20.1",
"status": "affected",
"versionType": "semver"
}
],
"programRoutines": [
{
"name": "handshakeMessage.marshal"
},
{
"name": "Conn.writeRecord"
},
{
"name": "Conn.readHandshake"
},
{
"name": "Conn.handleRenegotiation"
},
{
"name": "Conn.handlePostHandshakeMessage"
},
{
"name": "Conn.handleKeyUpdate"
},
{
"name": "Conn.clientHandshake"
},
{
"name": "Conn.loadSession"
},
{
"name": "clientHandshakeState.handshake"
},
{
"name": "clientHandshakeState.doFullHandshake"
},
{
"name": "clientHandshakeState.readFinished"
},
{
"name": "clientHandshakeState.readSessionTicket"
},
{
"name": "clientHandshakeState.sendFinished"
},
{
"name": "clientHandshakeStateTLS13.handshake"
},
{
"name": "clientHandshakeStateTLS13.sendDummyChangeCipherSpec"
},
{
"name": "clientHandshakeStateTLS13.processHelloRetryRequest"
},
{
"name": "clientHandshakeStateTLS13.readServerParameters"
},
{
"name": "clientHandshakeStateTLS13.readServerCertificate"
},
{
"name": "clientHandshakeStateTLS13.readServerFinished"
},
{
"name": "clientHandshakeStateTLS13.sendClientCertificate"
},
{
"name": "clientHandshakeStateTLS13.sendClientFinished"
},
{
"name": "clientHelloMsg.marshal"
},
{
"name": "clientHelloMsg.marshalWithoutBinders"
},
{
"name": "clientHelloMsg.updateBinders"
},
{
"name": "serverHelloMsg.marshal"
},
{
"name": "encryptedExtensionsMsg.marshal"
},
{
"name": "endOfEarlyDataMsg.marshal"
},
{
"name": "keyUpdateMsg.marshal"
},
{
"name": "newSessionTicketMsgTLS13.marshal"
},
{
"name": "certificateRequestMsgTLS13.marshal"
},
{
"name": "certificateMsg.marshal"
},
{
"name": "certificateMsgTLS13.marshal"
},
{
"name": "serverKeyExchangeMsg.marshal"
},
{
"name": "certificateStatusMsg.marshal"
},
{
"name": "serverHelloDoneMsg.marshal"
},
{
"name": "clientKeyExchangeMsg.marshal"
},
{
"name": "finishedMsg.marshal"
},
{
"name": "certificateRequestMsg.marshal"
},
{
"name": "certificateVerifyMsg.marshal"
},
{
"name": "newSessionTicketMsg.marshal"
},
{
"name": "helloRequestMsg.marshal"
},
{
"name": "Conn.readClientHello"
},
{
"name": "serverHandshakeState.doResumeHandshake"
},
{
"name": "serverHandshakeState.doFullHandshake"
},
{
"name": "serverHandshakeState.readFinished"
},
{
"name": "serverHandshakeState.sendSessionTicket"
},
{
"name": "serverHandshakeState.sendFinished"
},
{
"name": "serverHandshakeStateTLS13.checkForResumption"
},
{
"name": "serverHandshakeStateTLS13.sendDummyChangeCipherSpec"
},
{
"name": "serverHandshakeStateTLS13.doHelloRetryRequest"
},
{
"name": "serverHandshakeStateTLS13.sendServerParameters"
},
{
"name": "serverHandshakeStateTLS13.sendServerCertificate"
},
{
"name": "serverHandshakeStateTLS13.sendServerFinished"
},
{
"name": "serverHandshakeStateTLS13.sendSessionTickets"
},
{
"name": "serverHandshakeStateTLS13.readClientCertificate"
},
{
"name": "serverHandshakeStateTLS13.readClientFinished"
},
{
"name": "cipherSuiteTLS13.expandLabel"
},
{
"name": "sessionState.marshal"
},
{
"name": "sessionStateTLS13.marshal"
},
{
"name": "Conn.Handshake"
},
{
"name": "Conn.HandshakeContext"
},
{
"name": "Conn.Read"
},
{
"name": "Conn.Write"
},
{
"name": "ConnectionState.ExportKeyingMaterial"
},
{
"name": "Dial"
},
{
"name": "DialWithDialer"
},
{
"name": "Dialer.Dial"
},
{
"name": "Dialer.DialContext"
}
],
"defaultStatus": "unaffected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-400: Uncontrolled Resource Consumption"
}
]
}
],
"references": [
{
"url": "https://go.dev/issue/58001"
},
{
"url": "https://go.dev/cl/468125"
},
{
"url": "https://groups.google.com/g/golang-announce/c/V0aBFqaFs_E"
},
{
"url": "https://pkg.go.dev/vuln/GO-2023-1570"
}
],
"credits": [
{
"lang": "en",
"value": "Marten Seemann"
}
]
}
}
}