{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.1",
    "cveMetadata": {
        "cveId": "CVE-2021-4239",
        "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "state": "PUBLISHED",
        "assignerShortName": "Go",
        "dateReserved": "2022-07-29T20:06:51.345Z",
        "datePublished": "2022-12-27T21:13:53.590Z",
        "dateUpdated": "2024-08-03T17:23:10.118Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
                "shortName": "Go",
                "dateUpdated": "2023-06-12T19:04:19.549Z"
            },
            "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"
                }
            ]
        },
        "adp": [
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-03T17:23:10.118Z"
                },
                "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"
                        ]
                    }
                ]
            }
        ]
    }
}