mirror of https://github.com/istio/istio.io.git
2.1 KiB
2.1 KiB
title | subtitle | description | cves | cvss | vector | cvss_version | releases | publishdate | keywords | skip_seealso | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ISTIO-SECURITY-2019-004 | Security Bulletin | Multiple denial of service vulnerabilities related to HTTP2 support in Envoy. |
|
7.5 | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | 3.0 |
|
2019-08-13 |
|
true |
{{< security_bulletin >}}
Envoy, and subsequently Istio are vulnerable to a series of trivial HTTP/2-based DoS attacks:
- HTTP/2 flood using PING frames and queuing of response PING ACK frames that results in unbounded memory growth (which can lead to out of memory conditions).
- HTTP/2 flood using PRIORITY frames that results in excessive CPU usage and starvation of other clients.
- HTTP/2 flood using HEADERS frames with invalid HTTP headers and queuing of response
RST_STREAM
frames that results in unbounded memory growth (which can lead to out of memory conditions). - HTTP/2 flood using SETTINGS frames and queuing of SETTINGS ACK frames that results in unbounded memory growth (which can lead to out of memory conditions).
- HTTP/2 flood using frames with an empty payload that results in excessive CPU usage and starvation of other clients.
Those vulnerabilities were reported externally and affect multiple proxy implementations. See this security bulletin for more information.
Impact and detection
If Istio terminates externally originated HTTP then it is vulnerable. If Istio is instead fronted by an intermediary that terminates HTTP (e.g., a HTTP load balancer), then that intermediary would protect Istio, assuming the intermediary is not itself vulnerable to the same HTTP/2 exploits.
Mitigation
- For Istio 1.1.x deployments: update to a Istio 1.1.13 or later.
- For Istio 1.2.x deployments: update to a Istio 1.2.4 or later.
{{< boilerplate "security-vulnerability" >}}