GitHub Advisoryadvisory · Go
GHSA-74xm-qj29-cq8p In github.com/pion/webrtc, failed DTLS certificate verification doesn't stop data channel communication
MEDIUM
Official page ↗
- Aliases
- CVE-2021-28681
- Ecosystem
- Go
- Packages
- github.com/pion/webrtc/v3
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-863
- Reviewed
- 2021-05-21
Affected packages
• Go github.com/pion/webrtc/v3: < 3.0.15 → fixed in 3.0.15
Description
Impact
Data channel communication was incorrectly allowed with users who have failed DTLS certificate verification.
This attack requires
• Attacker knows the ICE password.
• Only take place during PeerConnection handshake.
This attack can be detected by monitoring `PeerConnectionState` in all versions of Pion WebRTC.
Patches
Users should upgrade to v3.0.15.
The exact patch is https://github.com/pion/webrtc/commit/545613dcdeb5dedb01cce94175f40bcbe045df2e
Workarounds
Users should listen for when `PeerConnectionState` changes to `PeerConnectionStateFailed`. When it enters this state users should not continue using the PeerConnection.
For more information
If you have any questions or comments about this advisory:
• Open an issue in https://github.com/pion/webrtc
• Email us at [email protected]
Thank you to https://github.com/Gaukas for discovering this.
Related
Alias · CVE (1)
- CVE-2021-28681 Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. vulnerability
Weakness · CWE (1)
- CWE-863 Incorrect Authorization weakness
References
- https://github.com/pion/webrtc/security/advisories/GHSA-74xm-qj29-cq8p web
- https://nvd.nist.gov/vuln/detail/CVE-2021-28681 advisory
- https://github.com/pion/webrtc/issues/1708 web
- https://github.com/pion/webrtc/pull/1709 web
- https://github.com/pion/webrtc/commit/545613dcdeb5dedb01cce94175f40bcbe045df2e web
- https://github.com/pion/webrtc package
- https://pkg.go.dev/vuln/GO-2021-0104 web