GO-2022-0425

    Dashboard / Vulnerabilities / GO-2022-0425

    GO-2022-0425

    Published: 15 Feb 2022Last Modified: 20 May 2024

    Summary: Weak encryption and denial of service in github.com/flynn/noise

    Details: 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 packages

    Package

    Name: github.com/flynn/noise

    Purl: pkg:golang/github.com/flynn/noise

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -1.0.0

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High