CVE-2021-23351
published 2021-03-08CVE-2021-23351: 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…
PriorityP425medium4.9CVSS 3.1
AVNACLPRHUINSUCNINAH
EPSS
1.87%
77.0th percentile
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
6 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | golang-github-pires-go-proxyproto | < golang-github-pires-go-proxyproto 0.4.2-1 (bookworm) | golang-github-pires-go-proxyproto 0.4.2-1 (bookworm) |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| github.com | pires_go-proxyproto | >= 0 < 0.5.0 | 0.5.0 |
| github.com | pires_go-proxyproto | >= unspecified < 0.5.0 | 0.5.0 |
| go-proxyproto_project | go-proxyproto | < 0.5.0 | 0.5.0 |
CVSS provenance
nvdv3.14.9MEDIUMCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
nvdv2.04.0MEDIUMAV:N/AC:L/Au:S/C:N/I:N/A:P
osv4.9MEDIUM
vendor_debian4.4MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
github.com/pires/go-proxyproto denial of service vulnerability
ghsa·2021-05-18
CVE-2021-23351 [MEDIUM] CWE-400 github.com/pires/go-proxyproto denial of service vulnerability
github.com/pires/go-proxyproto denial of service vulnerability
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.
OSV
github.com/pires/go-proxyproto denial of service vulnerability
osv·2021-05-18
CVE-2021-23351 [MEDIUM] github.com/pires/go-proxyproto denial of service vulnerability
github.com/pires/go-proxyproto denial of service vulnerability
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.
OSV
CVE-2021-23351: The package github
osv·2021-03-08·CVSS 4.9
CVE-2021-23351 [MEDIUM] CVE-2021-23351: The package github
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.
Debian
CVE-2021-23351: golang-github-pires-go-proxyproto - The package github.com/pires/go-proxyproto before 0.5.0 are vulnerable to Denial...
vendor_debian·2021·CVSS 4.4
CVE-2021-23351 [MEDIUM] CVE-2021-23351: golang-github-pires-go-proxyproto - The package github.com/pires/go-proxyproto before 0.5.0 are vulnerable to Denial...
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.
Scope: local
bookworm: resolved (fixed in 0.4.2-1)
bullseye: resolved (fixed in 0.4.2-1)
forky: resol
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8bhttps://github.com/pires/go-proxyproto/issues/69https://github.com/pires/go-proxyproto/pull/71https://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/https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8bhttps://github.com/pires/go-proxyproto/issues/69https://github.com/pires/go-proxyproto/pull/71https://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/https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPIRESGOPROXYPROTO-1081577
2021-03-08
Published