blob: 60949b0456965ae7270645ab24c604ca5de4d551 [file] [log] [blame]
{
"dataType": "CVE_RECORD",
"dataVersion": "5.0",
"cveMetadata": {
"cveId": "CVE-2021-4239"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc"
},
"title": "Weak encryption and denial of service in github.com/flynn/noise",
"descriptions": [
{
"lang": "en",
"value": "The Noise protocol implementation suffers from weakened cryptographic security after encrypting 2^64 messages, and a potential denial of service attack. After 2^64 (~18.4 quintillion) messages are encrypted with the Encrypt function, the nonce counter will wrap around, causing multiple messages to be encrypted with the same key and nonce. In a separate issue, the Decrypt function increments the nonce state even when it fails to decrypt a message. If an attacker can provide an invalid input to the Decrypt function, this will cause the nonce state to desynchronize between the peers, resulting in a failure to encrypt all subsequent messages."
}
],
"affected": [
{
"vendor": "github.com/flynn/noise",
"product": "github.com/flynn/noise",
"collectionURL": "https://pkg.go.dev",
"packageName": "github.com/flynn/noise",
"versions": [
{
"version": "0",
"lessThan": "1.0.0",
"status": "affected",
"versionType": "semver"
}
],
"programRoutines": [
{
"name": "CipherState.Encrypt"
},
{
"name": "CipherState.Decrypt"
},
{
"name": "symmetricState.EncryptAndHash"
},
{
"name": "HandshakeState.ReadMessage"
},
{
"name": "HandshakeState.WriteMessage"
},
{
"name": "symmetricState.DecryptAndHash"
}
],
"defaultStatus": "unaffected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE 400: Uncontrolled Resource Consumption"
}
]
}
],
"references": [
{
"url": "https://github.com/flynn/noise/pull/44"
},
{
"url": "https://pkg.go.dev/vuln/GO-2022-0425"
}
]
}
}
}