Skip to content

Excessive CPU and/or memory usage when proxying HTTP/2 bodies

High
mattklein123 published GHSA-pc38-4q6c-85p6 Jun 30, 2020

Package

No package listed

Affected versions

1.14.2, 1.13.2, 1.12.4 or older

Patched versions

1.14.3, 1.13.3, 1.12.5

Description

Vulnerability type

Uncontrolled Resource Consumption

Attack type

Remote

Impact

Denial-of-service, Resource consumption (memory)

Discoverer(s)/Credits

Wenlei (Frank) He (Google LLC)
Antonio Vicente (Google LLC)

Description

Envoy version 1.14.2, 1.13.2, 1.12.4 or older may consume excessive amounts of memory when proxying HTTP/2 requests or responses with many small (i.e. 1 byte) chunks. Envoy allocates a separate buffer fragment with the size rounded to the nearest 4Kb for each data frame that is written to the output buffer from the connection read-dispatch call stack. As such processing requests or responses with a lot of small chunks may result in extremely high memory overhead if the peer is slow or unable to read proxied data. The memory overhead could be one to two orders of magnitude more than configured buffer limits.

Severity

High

CVE ID

CVE-2020-12603

Weaknesses

No CWEs