GHSA-9F3F-WV7R-QC8R
Vulnerability from github – Published: 2026-02-11 15:13 – Updated: 2026-02-13 14:18Impact
Pion DTLS versions v1.0.0 through v3.0.10 use random nonce generation with AES GCM ciphers, which makes it easier for remote attackers to obtain the authentication key and spoof data by leveraging the reuse of a nonce in a session and a "forbidden attack".
Patches
Upgrade to v3.1.1 or later. This version includes PR #796, which uses the 64-bit sequence number to populate the nonce_explicit part of the GCM nonce. This is according to best practice outlined in RFC 9325 section 7.2.1.
v3.0.11 is a backport patch supporting Go v1.21
Workarounds
There are no workarounds without upgrading to version v3.0.11, v3.1.1 or later.
References
Commit fixing the bug: https://github.com/pion/dtls/commit/61762dee8217991882c5eb79856b9e7a73ee349f Commit fixing the bug (backport): 90e241c Pull request: #796
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/pion/dtls/v3"
},
"ranges": [
{
"events": [
{
"introduced": "3.1.0"
},
{
"fixed": "3.1.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"3.1.0"
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/pion/dtls/v2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "2.2.12"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/pion/dtls"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.5.4"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/pion/dtls/v3"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.11"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-26014"
],
"database_specific": {
"cwe_ids": [
"CWE-200"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-11T15:13:12Z",
"nvd_published_at": "2026-02-11T21:16:21Z",
"severity": "MODERATE"
},
"details": "### Impact\nPion DTLS versions v1.0.0 through v3.0.10 use random nonce generation with AES GCM ciphers, which makes it easier for remote attackers to obtain the authentication key and spoof data by leveraging the reuse of a nonce in a session and a \"forbidden attack\". \n\n### Patches\nUpgrade to v3.1.1 or later. This version includes PR #796, which uses the 64-bit sequence number to populate the `nonce_explicit` part of the GCM nonce. This is according to best practice outlined in [RFC 9325 section 7.2.1](https://www.rfc-editor.org/rfc/rfc9325#section-7.2.1). \n\nv3.0.11 is a backport patch supporting Go v1.21\n\n### Workarounds\nThere are no workarounds without upgrading to version v3.0.11, v3.1.1 or later.\n\n### References\nCommit fixing the bug: https://github.com/pion/dtls/commit/61762dee8217991882c5eb79856b9e7a73ee349f\nCommit fixing the bug (backport): 90e241c\nPull request: #796",
"id": "GHSA-9f3f-wv7r-qc8r",
"modified": "2026-02-13T14:18:28Z",
"published": "2026-02-11T15:13:12Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/pion/dtls/security/advisories/GHSA-9f3f-wv7r-qc8r"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-26014"
},
{
"type": "WEB",
"url": "https://github.com/pion/dtls/pull/796"
},
{
"type": "WEB",
"url": "https://github.com/pion/dtls/commit/61762dee8217991882c5eb79856b9e7a73ee349f"
},
{
"type": "WEB",
"url": "https://github.com/pion/dtls/commit/90e241cfec2985715efdd3d005972847462a67d6"
},
{
"type": "PACKAGE",
"url": "https://github.com/pion/dtls"
},
{
"type": "WEB",
"url": "https://github.com/pion/dtls/releases/tag/v3.0.11"
},
{
"type": "WEB",
"url": "https://github.com/pion/dtls/releases/tag/v3.1.1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Pion DTLS\u0027s usage of random nonce generation with AES GCM ciphers risks leaking the authentication key"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.