VDB
Sign up
MEDIUM5.9

GHSA-9f3f-wv7r-qc8r

Pion DTLS's usage of random nonce generation with AES GCM ciphers risks leaking the authentication key

Quick fix

GHSA-9f3f-wv7r-qc8r — github.com/pion/dtls/v3: upgrade to the fixed version with the command below.

go get github.com/pion/dtls/v3@v3.1.1

Details

### Impact Pion DTLS versions v1.0.0 through v3.0.10 use random nonce generation with AES GCM ciphers, which makes it easier for remote attackers to obtain the authentication key and spoof data by leveraging the reuse of a nonce in a session and a "forbidden attack".

### Patches Upgrade to v3.1.1 or later. This version includes PR #796, which uses the 64-bit sequence number to populate the `nonce_explicit` part of the GCM nonce. This is according to best practice outlined in [RFC 9325 section 7.2.1](https://www.rfc-editor.org/rfc/rfc9325#section-7.2.1).

v3.0.11 is a backport patch supporting Go v1.21

### Workarounds There are no workarounds without upgrading to version v3.0.11, v3.1.1 or later.

### References Commit fixing the bug: https://github.com/pion/dtls/commit/61762dee8217991882c5eb79856b9e7a73ee349f Commit fixing the bug (backport): 90e241c Pull request: #796

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/github.com/pion/dtls/v3
Introduced in: 3.1.0Fixed in: 3.1.1
Fixgo get github.com/pion/dtls/v3@v3.1.1
Go/github.com/pion/dtls/v2
Introduced in: 0

No fixed version published yet for github.com/pion/dtls/v2 (go modules). Pin to a known-safe version or switch to an alternative.

Go/github.com/pion/dtls
Introduced in: 0

No fixed version published yet for github.com/pion/dtls (go modules). Pin to a known-safe version or switch to an alternative.

Go/github.com/pion/dtls/v3
Introduced in: 0Fixed in: 3.0.11
Fixgo get github.com/pion/dtls/v3@v3.0.11

References