CVE-2021-32780

Incorrect handling of H/2 GOAWAY followed by SETTINGS frames

State
Published
Severity
8.6 High
Published
Aug 24, 2021
Updated
Aug 3, 2024
Reserved
May 12, 2021

Read the record on cve.org

Description

Envoy is an open source L7 proxy and communication bus designed for large modern service oriented architectures. In affected versions Envoy transitions a H/2 connection to the CLOSED state when it receives a GOAWAY frame without any streams outstanding. The connection state is transitioned to DRAINING when it receives a SETTING frame with the SETTINGS_MAX_CONCURRENT_STREAMS parameter set to 0. Receiving these two frames in the same I/O event results in abnormal termination of the Envoy process due to invalid state transition from CLOSED to DRAINING. A sequence of H/2 frames delivered by an untrusted upstream server will result in Denial of Service in the presence of untrusted **upstream** servers. Envoy versions 1.19.1, 1.18.4 contain fixes to stop processing of pending H/2 frames after connection transition to the CLOSED state.

Scores

CVSSScoreVectorSource
3.18.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:HGitHub_M

Weaknesses

  • CWE-754 Improper Check for Unusual or Exceptional Conditions

Affected Products

ProductVersions
envoyenvoyproxy
  • >= 1.19.0, < 1.19.1Affected
  • >= 1.18.0, < 1.18.4Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.