VDB
Sign up
—

GO-2022-0425

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

Quick fix

GO-2022-0425 — github.com/flynn/noise: upgrade to the fixed version with the command below.

go get github.com/flynn/noise@v1.0.0

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/github.com/flynn/noise
Introduced in: 0Fixed in: 1.0.0
Fixgo get github.com/flynn/noise@v1.0.0

References