Skip to content

Update pion/dtls and pion/stun to patch known advisories - #2382

Open
paolostivanin wants to merge 1 commit into
AlexxIT:masterfrom
paolostivanin:bump-pion-security
Open

Update pion/dtls and pion/stun to patch known advisories#2382
paolostivanin wants to merge 1 commit into
AlexxIT:masterfrom
paolostivanin:bump-pion-security

Conversation

@paolostivanin

@paolostivanin paolostivanin commented Jul 28, 2026

Copy link
Copy Markdown

Both packages have published advisories that are reachable from the WebRTC path.

pion/dtls v3.0.10 -> v3.1.5

Advisory Issue Fixed in
GHSA-wg4g-wm44-ch5j / CVE-2026-54908 Remote DoS - panic while parsing a crafted ECDHE_PSK ServerKeyExchange v3.1.4
GHSA-9f3f-wv7r-qc8r / CVE-2026-26014 AES-GCM random nonce generation risks leaking the authentication key v3.1.1

pion/stun v3.1.1 -> v3.1.6

Advisory Issue Fixed in
GHSA-34rh-wp3j-6cxc Remote DoS - panic while parsing a malformed XOR-MAPPED-ADDRESS attribute v3.1.5

Reachability

go2rtc answers a=setup:active, so it is the DTLS client and does parse ServerKeyExchange from
the peer. The STUN attribute parser handles messages arriving on the ICE port. Both are exposed to
whatever can reach the WebRTC listener, which for anyone who has forwarded 8555 is the internet.

Transitive updates

Pulled in by the two above, nothing requested directly:

  • pion/transport/v4 v4.0.1 -> v4.0.2
  • golang.org/x/crypto v0.47.0 -> v0.48.0
  • golang.org/x/sys v0.40.0 -> v0.41.0

Verification

  • go build ./... passes.
  • go test ./pkg/webrtc/... ./internal/webrtc/... passes.
  • The remaining ./... failures (pkg/core, pkg/hap/camera, pkg/hap/hds, pkg/ivideon,
    pkg/tuya, internal/ffmpeg) were re-run on the base commit with these changes stashed and are
    identical before and after - they are pre-existing, not caused by this bump.

pion/dtls v3.0.10 -> v3.1.5
  GHSA-wg4g-wm44-ch5j / CVE-2026-54908 - remote DoS, panic while parsing
  a crafted ECDHE_PSK ServerKeyExchange (fixed in v3.1.4)
  GHSA-9f3f-wv7r-qc8r / CVE-2026-26014 - AES-GCM random nonce generation
  risks leaking the authentication key (fixed in v3.1.1)

pion/stun v3.1.1 -> v3.1.6
  GHSA-34rh-wp3j-6cxc - remote DoS, panic while parsing a malformed
  XOR-MAPPED-ADDRESS attribute (fixed in v3.1.5)

Both sit on the WebRTC server path. go2rtc answers setup:active, so it
acts as the DTLS client and does parse ServerKeyExchange from the peer,
and the STUN attribute parser handles messages on the ICE port.

Pulled in transitively by the above: pion/transport v4.0.1 -> v4.0.2,
golang.org/x/crypto v0.47.0 -> v0.48.0, golang.org/x/sys v0.40.0 -> v0.41.0.

go build ./... passes and the pkg/webrtc and internal/webrtc tests pass.
The remaining ./... failures (pkg/core, pkg/hap/*, internal/ffmpeg) are
identical before and after this change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant