In github.com/pion/webrtc, failed DTLS certificate verification doesn't stop data channel communication
GHSA-74xm-qj29-cq8p · CVE-2021-28681 · GO-2021-0104
Published · Modified
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 team@pion.ly
Thank you to https://github.com/Gaukas for discovering this.
References
- WEB https://github.com/pion/webrtc/security/advisories/GHSA-74xm-qj29-cq8p
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2021-28681
- WEB https://github.com/pion/webrtc/issues/1708
- WEB https://github.com/pion/webrtc/pull/1709
- WEB https://github.com/pion/webrtc/commit/545613dcdeb5dedb01cce94175f40bcbe045df2e
- PACKAGE https://github.com/pion/webrtc
- WEB https://pkg.go.dev/vuln/GO-2021-0104
Ready to move
Start Securing
Free, no credit card | First findings in minutes