Bug 1936472 (CVE-2021-23351)

Summary: CVE-2021-23351 golang-github-pires-proxyproto: improper input validation in parseVersion1 function can lead to DoS
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED UPSTREAM QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: go-sig, zebob.m
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-08 19:01:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1936473    
Bug Blocks:    

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.