{"id":"CVE-2021-4239","state":"PUBLISHED","title":"Weak encryption and denial of service in github.com/flynn/noise","description":"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.","publishedAt":"2022-12-27T21:13:53.590Z","updatedAt":"2025-04-14T16:59:43.688Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","source":"CISA-ADP"},"assigner":"Go","products":["github.com/flynn/noise github.com/flynn/noise"],"affected":[{"vendor":"github.com/flynn/noise","product":"github.com/flynn/noise","packageName":"github.com/flynn/noise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.0.0","versionType":"semver"}],"collectionURL":"https://pkg.go.dev","programRoutines":[{"name":"CipherState.Encrypt"},{"name":"CipherState.Decrypt"},{"name":"symmetricState.EncryptAndHash"},{"name":"HandshakeState.ReadMessage"},{"name":"HandshakeState.WriteMessage"},{"name":"symmetricState.DecryptAndHash"}]}],"references":["https://github.com/flynn/noise/pull/44","https://pkg.go.dev/vuln/GO-2022-0425"],"weaknesses":[],"ingestedAt":"2026-10-29T19:49:23.890Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/4xxx/CVE-2021-4239.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2021-4239","state":"PUBLISHED","datePublished":"2022-12-27T21:13:53.590Z","dateUpdated":"2025-04-14T16:59:43.688Z","assignerShortName":"Go","assignerOrgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","dateReserved":"2022-07-29T20:06:51.345Z"},"containers":{"cna":{"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","packageName":"github.com/flynn/noise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.0.0","versionType":"semver"}],"collectionURL":"https://pkg.go.dev","programRoutines":[{"name":"CipherState.Encrypt"},{"name":"CipherState.Decrypt"},{"name":"symmetricState.EncryptAndHash"},{"name":"HandshakeState.ReadMessage"},{"name":"HandshakeState.WriteMessage"},{"name":"symmetricState.DecryptAndHash"}]}],"references":[{"url":"https://github.com/flynn/noise/pull/44"},{"url":"https://pkg.go.dev/vuln/GO-2022-0425"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE 400: Uncontrolled Resource Consumption"}]}],"providerMetadata":{"shortName":"Go","orgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","dateUpdated":"2023-06-12T19:04:19.549Z"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://github.com/flynn/noise/pull/44","tags":["x_transferred"]},{"url":"https://pkg.go.dev/vuln/GO-2022-0425","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-03T17:23:10.118Z"}},{"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:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"timestamp":"2025-04-14T16:59:11.062582Z","id":"CVE-2021-4239","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-04-14T16:59:43.688Z"}}]}}}