Bug 1936472 (CVE-2021-23351) - CVE-2021-23351 golang-github-pires-proxyproto: improper input validation in parseVersion1 function can lead to DoS
Summary: CVE-2021-23351 golang-github-pires-proxyproto: improper input validation in p...
Keywords:
Status: CLOSED UPSTREAM
Alias: CVE-2021-23351
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1936473
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-08 14:43 UTC by Guilherme de Almeida Suckevicz
Modified: 2021-03-08 19:01 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-08 19:01:52 UTC
Embargoed:


Attachments (Terms of Use)

Description Guilherme de Almeida Suckevicz 2021-03-08 14:43:21 UTC
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.

Reference:
https://github.com/pires/go-proxyproto/issues/69

Upstream patch:
https://github.com/pires/go-proxyproto/commit/7f48261db810703d173f27f3309a808cc2b49b8b

Comment 1 Guilherme de Almeida Suckevicz 2021-03-08 14:43:36 UTC
Created golang-github-pires-proxyproto tracking bugs for this issue:

Affects: fedora-all [bug 1936473]

Comment 2 Product Security DevOps Team 2021-03-08 19:01:52 UTC
This CVE Bugzilla entry is for community support informational purposes only as it does not affect a package in a commercially supported Red Hat product. Refer to the dependent bugs for status of those individual community products.


Note You need to log in before you can comment on or make changes to this bug.