CVE-2021-28681
In github.com/pion/webrtc, failed DTLS certificate verification doesn't stop data channel communication
Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. The PeerConnectionState was set to failed, but a user could ignore that and continue to use the PeerConnection. )A WebRTC implementation shouldn't allow the user to continue if verification has failed.)
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.3
Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. The PeerConnectionState was set to failed, but a user could ignore that and continue to use the PeerConnection. )A WebRTC implementation shouldn't allow the user to continue if verification has failed.)
- Record
CVE-2021-28681- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
CVE List No score
Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. The PeerConnectionState was set to failed, but a user could ignore that and continue to use the PeerConnection. )A WebRTC implementation shouldn't allow the user to continue if verification has failed.)
- Record
CVE-2021-28681- Updated
- 2026-11-02
EUVDEUVD-2021-0985 No score
Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. The PeerConnectionState was set to failed, but a user could ignore that and continue to use the PeerConnection. )A WebRTC implementation shouldn't allow the user to continue if verification has failed.)
- Record
EUVD-2021-0985- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-74xm-qj29-cq8p
5.3
In github.com/pion/webrtc, failed DTLS certificate verification doesn't stop data channel communication
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.
- Record
GHSA-74xm-qj29-cq8p- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSV
5.3
Pion WebRTC before 3.0.15 didn't properly tear down the DTLS Connection when certificate verification failed. The PeerConnectionState was set to failed, but a user could ignore that and continue to use the PeerConnection. )A WebRTC implementation shouldn't allow the user to continue if verification has failed.)
- Record
CVE-2021-28681- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-74xm-qj29-cq8p
5.3
In github.com/pion/webrtc, failed DTLS certificate verification doesn't stop data channel communication
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.
- Record
GHSA-74xm-qj29-cq8p- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSVGO-2021-0104 No score
Authorization bypass in github.com/pion/webrtc/v3
Due to improper error handling, DTLS connections were not killed when certificate verification failed, causing users who did not check the connection state to continue to use the connection. This could allow allow an attacker which holds the ICE password, but not a valid certificate, to bypass this restriction.
- Record
GO-2021-0104- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/pion/webrtc/v3Go |
before 3.0.15 | 3.0.15 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-28681 is a medium vulnerability (CVSS 5.3) in Webrtc Project Webrtc, published March 18, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.68%, the 52nd percentile. Fixed in github.com/pion/webrtc/v3 3.0.15.
References
github.com/pion/webrtc/issues/1708
github.com/pion/webrtc/security/advisories/GHSA-74xm-qj29-cq8p
nvd.nist.gov/vuln/detail/CVE-2021-28681
github.com/pion/webrtc/pull/1709
github.com/pion/webrtc/commit/545613dcdeb5dedb01cce94175f40bcbe045df2e
pkg.go.dev/vuln/GO-2021-0104
github.com/advisories/GHSA-74xm-qj29-cq8p
github.com/pion/webrtc