{"id":"CVE-2022-29189","aliases":["DEBIAN-CVE-2022-29189","EUVD-2022-3660","GHSA-cx94-mrg9-rq4j","GO-2022-0461","UBUNTU-CVE-2022-29189","USN-7966-1","USN-7966-2"],"status":"published","title":"Buffer for inbound DTLS fragments has no limit","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.02149,"percentile":0.82251,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-120"],"published":"2022-05-20T23:55:16Z","modified":"2026-11-03T08:04:07Z","fixes":[{"ecosystem":"Go","package":"github.com/pion/dtls","fixed_in":["2.1.4"],"sources":["ghsa","osv"]},{"ecosystem":"Go","package":"github.com/pion/dtls/v2","fixed_in":["2.1.4"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"snowflake","fixed_in":["2.2.0-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"snowflake","fixed_in":["2.2.0-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"snowflake","fixed_in":["2.2.0-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"snowflake","fixed_in":["1.1.0-2ubuntu0.1+esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"telegraf","fixed_in":["1.21.4+ds1-0ubuntu2+esm2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/pion/dtls","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.4"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/pion/dtls/v2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.4"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"snowflake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.0-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"snowflake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.0-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"snowflake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.0-1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/pion/dtls","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.1.4"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/pion/dtls/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.1.4"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/pion/dtls/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.1.4"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"snowflake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.0-2ubuntu0.1+esm2"}]}],"versions":["1.1.0-1","1.1.0-2","1.1.0-2ubuntu0.1","1.1.0-2ubuntu0.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"telegraf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.21.4+ds1-0ubuntu2+esm2"}]}],"versions":["1.19.2+ds1-0ubuntu1","1.21.2+ds1-0ubuntu1","1.21.4+ds1-0ubuntu1","1.21.4+ds1-0ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"snowflake","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.0-2ubuntu0.1+esm2"}]}],"versions":["1.1.0-1","1.1.0-2","1.1.0-2ubuntu0.1","1.1.0-2ubuntu0.1+esm1"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"telegraf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.21.4+ds1-0ubuntu2+esm2"}]}],"versions":["1.19.2+ds1-0ubuntu1","1.21.2+ds1-0ubuntu1","1.21.4+ds1-0ubuntu1","1.21.4+ds1-0ubuntu2"],"bundled":3}],"products":[{"vendor":"pion","product":"dtls"}],"references":[{"url":"https://github.com/pion/dtls/releases/tag/v2.1.4","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","web","report"]},{"url":"https://github.com/pion/dtls/security/advisories/GHSA-cx94-mrg9-rq4j","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/pion/dtls/commit/a6397ff7282bc56dc37a68ea9211702edb4de1de","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29189","tags":["advisory"]},{"url":"https://pkg.go.dev/vuln/GO-2022-0461","tags":["web"]},{"url":"https://github.com/advisories/GHSA-cx94-mrg9-rq4j"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/29xxx/CVE-2022-29189.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-29189","tags":["advisory"]},{"url":"github.com/pion/dtls","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2022-29189","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-29189","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-7966-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-7966-2","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2022-29190","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-29222","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2022-29189","title":"Buffer for inbound DTLS fragments has no limit","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-20T23:55:16Z","modified":"2025-04-23T18:23:18.694Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T14:34:36.578327Z"}],"euvd":[{"id":"EUVD-2022-3660","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-20T23:55:16Z","modified":"2025-04-23T18:23:18Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T20:52:08.95736Z"}],"ghsa":[{"id":"GHSA-cx94-mrg9-rq4j","title":"Pion/DTLS contains buffer for inbound DTLS fragments with no limit","description":"### Impact\nA buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or times out. An attacker could exploit this to cause excessive memory usage.\n\n### Patches\nUpgrade to Pion DTLS v2.1.4\n\n### Workarounds\nNo workarounds available, upgrade to Pion DTLS v2.1.4\n\n### References\nThank you to [Juho Nurminen](https://github.com/jupenur) and the Mattermost team for discovering and reporting this. \n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [Pion DTLS](http://github.com/pion/dtls)\n* Email us at [team@pion.ly](mailto:team@pion.ly)\n","status":"published","published":"2022-05-24T22:04:38Z","modified":"2023-08-29T23:31:24Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T14:37:02.095916Z"}],"nvd":[{"id":"CVE-2022-29189","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-21T00:15:11.387Z","modified":"2026-06-17T04:39:46.65Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T14:07:21.261605Z"}],"osv":[{"id":"CVE-2022-29189","title":"Buffer for inbound DTLS fragments has no limit","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-20T23:55:16Z","modified":"2026-10-28T02:31:10.862472319Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T15:44:25.164673Z"},{"id":"DEBIAN-CVE-2022-29189","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-21T00:15:11.387Z","modified":"2026-11-03T08:04:07.11755045Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"updated_at":"2026-11-03T08:23:07.763774Z"},{"id":"GHSA-cx94-mrg9-rq4j","title":"Pion/DTLS contains buffer for inbound DTLS fragments with no limit","description":"### Impact\nA buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or times out. An attacker could exploit this to cause excessive memory usage.\n\n### Patches\nUpgrade to Pion DTLS v2.1.4\n\n### Workarounds\nNo workarounds available, upgrade to Pion DTLS v2.1.4\n\n### References\nThank you to [Juho Nurminen](https://github.com/jupenur) and the Mattermost team for discovering and reporting this. \n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [Pion DTLS](http://github.com/pion/dtls)\n* Email us at [team@pion.ly](mailto:team@pion.ly)\n","status":"published","published":"2022-05-24T22:04:38Z","modified":"2023-11-08T04:09:09.299323Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T15:46:45.639885Z"},{"id":"UBUNTU-CVE-2022-29189","description":"Pion DTLS is a Go implementation of Datagram Transport Layer Security. Prior to version 2.1.4, a buffer that was used for inbound network traffic had no upper limit. Pion DTLS would buffer all network traffic from the remote user until the handshake completes or timed out. An attacker could exploit this to cause excessive memory usage. Version 2.1.4 contains a patch for this issue. There are currently no known workarounds available.","status":"published","published":"2022-05-21T00:15:00Z","modified":"2026-02-05T04:53:10.931022Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T16:53:53.899276Z"},{"id":"GO-2022-0461","title":"Unbounded memory consumption in github.com/pion/dtls/v2","description":"Attacker can cause unbounded memory consumption.\n\nThe Pion DTLS client and server buffer handshake data with no upper limit, permitting an attacker to cause unbounded memory consumption by sending an unterminated handshake.","status":"published","published":"2022-07-01T20:07:25Z","modified":"2024-05-20T16:03:47Z","updated_at":"2026-11-02T15:47:00.918515Z"},{"id":"USN-7966-1","title":"snowflake vulnerabilities","description":"It was discovered that Pion DTLS, vendored in Snowflake, did not impose a limit\non the amount of data that was buffered during the handshake. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29189)\n\nIt was discovered that Pion DTLS, vendored in Snowflake, did not prevent the \nfragmentBuffer from processing zero length fragments. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29190)\n\nIt was discovered that Pion DTLS, vendored in Snowflake, did not require \nCertificateVerify when Client Cert was sent. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29222)","status":"published","published":"2026-01-19T10:35:20Z","modified":"2026-04-27T18:33:25.398774Z","updated_at":"2026-11-02T16:58:22.951676Z"},{"id":"USN-7966-2","title":"telegraf vulnerabilities","description":"USN-7966-1 fixed vulnerabilities in Snowflake. This update provides the\ncorresponding updates for Telegraf.\n\nOriginal advisory details:\n\nIt was discovered that Pion DTLS, vendored in Telegraf, did not impose a limit\non the amount of data that was buffered during the handshake. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29189)\n\nIt was discovered that Pion DTLS, vendored in Telegraf, did not prevent the\nfragmentBuffer from processing zero length fragments. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29190)\n\nIt was discovered that Pion DTLS, vendored in Telegraf, did not require\nCertificateVerify when Client Cert was sent. An attacker could\npossibly use the issue to cause a denial of service. (CVE-2022-29222)\n","status":"published","published":"2026-01-19T12:42:24Z","modified":"2026-04-27T18:33:59.51582Z","updated_at":"2026-11-02T16:58:22.951676Z"}]}}
