{"id":"CVE-2021-23351","state":"PUBLISHED","title":"Denial of Service (DoS)","description":"The package github.com/pires/go-proxyproto before 0.5.0 are vulnerable to Denial of Service (DoS) via the parseVersion1() function. The reader in this package is a default bufio.Reader wrapping a net.Conn. It will read from the connection until it finds a newline. Since no limits are implemented in the code, a deliberately malformed V1 header could be used to exhaust memory in a server process using this code - and create a DoS. This can be exploited by sending a stream starting with PROXY and continuing to send data (which does not contain a newline) until the target stops acknowledging. The risk here is small, because only trusted sources should be allowed to send proxy protocol headers.","publishedAt":"2021-03-08T04:45:23.830Z","updatedAt":"2024-09-17T01:31:07.953Z","severity":{"score":4.4,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H","source":"snyk"},"assigner":"snyk","products":["n/a github.com/pires/go-proxyproto"],"affected":[{"vendor":"n/a","product":"github.com/pires/go-proxyproto","versions":[{"version":"unspecified","status":"affected","lessThan":"0.5.0","versionType":"custom"}]}],"references":["https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577","https://github.com/pires/go-proxyproto/pull/71","https://github.com/pires/go-proxyproto/issues/69","https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4BNVGJMVI3ZTZ675EFPUHPGXCKCGSX46/","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C36IBVOZXRTWM7MGTRUTOM56P5RR74VU/"],"weaknesses":[],"ingestedAt":"2026-10-29T19:48:04.982Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/23xxx/CVE-2021-23351.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2021-23351","state":"PUBLISHED","datePublished":"2021-03-08T04:45:23.830Z","dateUpdated":"2024-09-17T01:31:07.953Z","assignerShortName":"snyk","assignerOrgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730","dateReserved":"2021-01-08T00:00:00.000Z"},"containers":{"cna":{"title":"Denial of Service (DoS)","descriptions":[{"lang":"en","value":"The package github.com/pires/go-proxyproto before 0.5.0 are vulnerable to Denial of Service (DoS) via the parseVersion1() function. The reader in this package is a default bufio.Reader wrapping a net.Conn. It will read from the connection until it finds a newline. Since no limits are implemented in the code, a deliberately malformed V1 header could be used to exhaust memory in a server process using this code - and create a DoS. This can be exploited by sending a stream starting with PROXY and continuing to send data (which does not contain a newline) until the target stops acknowledging. The risk here is small, because only trusted sources should be allowed to send proxy protocol headers."}],"affected":[{"vendor":"n/a","product":"github.com/pires/go-proxyproto","versions":[{"version":"unspecified","status":"affected","lessThan":"0.5.0","versionType":"custom"}]}],"references":[{"url":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577","tags":["x_refsource_MISC"]},{"url":"https://github.com/pires/go-proxyproto/pull/71","tags":["x_refsource_MISC"]},{"url":"https://github.com/pires/go-proxyproto/issues/69","tags":["x_refsource_MISC"]},{"url":"https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b","tags":["x_refsource_MISC"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4BNVGJMVI3ZTZ675EFPUHPGXCKCGSX46/","name":"FEDORA-2021-e01c1fe4cc","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C36IBVOZXRTWM7MGTRUTOM56P5RR74VU/","name":"FEDORA-2021-f5fcd9b0c1","tags":["vendor-advisory","x_refsource_FEDORA"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":4.4,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"description":"Denial of Service (DoS)","lang":"en","type":"text"}]}],"providerMetadata":{"shortName":"snyk","dateUpdated":"2021-03-19T22:06:33.000Z","orgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730"},"credits":[{"lang":"en","value":"Iestyn Elfick"}],"datePublic":"2021-03-08T00:00:00.000Z","x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"report@snyk.io","DATE_PUBLIC":"2021-03-08T04:40:53.457117Z","ID":"CVE-2021-23351","STATE":"PUBLIC","TITLE":"Denial of Service (DoS)"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"github.com/pires/go-proxyproto","version":{"version_data":[{"version_affected":"<","version_value":"0.5.0"}]}}]},"vendor_name":"n/a"}]}},"credit":[{"lang":"eng","value":"Iestyn Elfick"}],"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"The package github.com/pires/go-proxyproto before 0.5.0 are vulnerable to Denial of Service (DoS) via the parseVersion1() function. The reader in this package is a default bufio.Reader wrapping a net.Conn. It will read from the connection until it finds a newline. Since no limits are implemented in the code, a deliberately malformed V1 header could be used to exhaust memory in a server process using this code - and create a DoS. This can be exploited by sending a stream starting with PROXY and continuing to send data (which does not contain a newline) until the target stops acknowledging. The risk here is small, because only trusted sources should be allowed to send proxy protocol headers."}]},"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":4.4,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Denial of Service (DoS)"}]}]},"references":{"reference_data":[{"name":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577","refsource":"MISC","url":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577"},{"name":"https://github.com/pires/go-proxyproto/pull/71","refsource":"MISC","url":"https://github.com/pires/go-proxyproto/pull/71"},{"name":"https://github.com/pires/go-proxyproto/issues/69","refsource":"MISC","url":"https://github.com/pires/go-proxyproto/issues/69"},{"name":"https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b","refsource":"MISC","url":"https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b"},{"name":"FEDORA-2021-e01c1fe4cc","refsource":"FEDORA","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4BNVGJMVI3ZTZ675EFPUHPGXCKCGSX46/"},{"name":"FEDORA-2021-f5fcd9b0c1","refsource":"FEDORA","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/C36IBVOZXRTWM7MGTRUTOM56P5RR74VU/"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://github.com/pires/go-proxyproto/pull/71","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://github.com/pires/go-proxyproto/issues/69","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4BNVGJMVI3ZTZ675EFPUHPGXCKCGSX46/","name":"FEDORA-2021-e01c1fe4cc","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/C36IBVOZXRTWM7MGTRUTOM56P5RR74VU/","name":"FEDORA-2021-f5fcd9b0c1","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-03T19:05:55.668Z"}}]}}}