CVE-2019-20786
Improper Authenication in Pion DTLS
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
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
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
CVE-2019-20786- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-287
- Updated
- 2026-11-02
CVE List No score
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
CVE-2019-20786- Updated
- 2026-11-02
EUVDEUVD-2021-1278 No score
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
EUVD-2021-1278- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7gfg-6934-mqq2
9.8
Improper Authenication in Pion DTLS
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
GHSA-7gfg-6934-mqq2- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-287
- Updated
- 2026-11-02
OSV
9.8
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
CVE-2019-20786- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-7gfg-6934-mqq2
9.8
Improper Authenication in Pion DTLS
handleIncomingPacket in conn.go in Pion DTLS before 1.5.2 lacks a check for application data with epoch 0, which allows remote attackers to inject arbitrary unencrypted data after handshake completion.
- Record
GHSA-7gfg-6934-mqq2- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-287
- Updated
- 2026-11-02
OSVGO-2020-0038 No score
Improper authentication in github.com/pion/dtls
Due to improper verification of packets, unencrypted packets containing application data are accepted after the initial handshake. This allows an attacker to inject arbitrary data which the client/server believes was encrypted, despite not knowing the session key.
- Record
GO-2020-0038- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/pion/dtlsGo |
before 1.5.2 | 1.5.2 |
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-2019-20786 is a critical vulnerability (CVSS 9.8) in Pion Dtls, published April 19, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.01%, the 87th percentile. Fixed in github.com/pion/dtls 1.5.2.
References
usenix.org/system/files/sec20fall_fiterau-brostean_prepub.pdf
usenix.org/conference/usenixsecurity20/presentation/fiterau-brostean
github.com/pion/dtls/commit/fd73a5df2ff0e1fb6ae6a51e2777d7a16cc4f4e0
github.com/pion/dtls/compare/v1.5.1...v1.5.2
nvd.nist.gov/vuln/detail/CVE-2019-20786
github.com/pion/dtls/pull/128
pkg.go.dev/vuln/GO-2020-0038
github.com/advisories/GHSA-7gfg-6934-mqq2
github.com/pion/dtls