Software updates released by Kubernetes this week address HTTP/2 implementation vulnerabilities that were disclosed earlier this month.
HTTP/2 is the second major revision of the HTTP Internet protocol, meant to improve performance and stability. Earlier this month, Netflix and Google researchers publicly disclosed a total of eight issues affecting various HTTP/2 implementations and revealed that these could lead to denial-of-service (DoS) attacks.
Abuse of these vulnerabilities could exhaust server resources such as CPU or memory, or both, this leading to DoS. Each implementation, the researchers said, might be affected by at least one of the flaws.
Kubernetes was found impacted by two of the issues, given that both of them affect the Go language, which Kubernetes is written in. Tracked as CVE-2019-9512 and CVE-2019-9514, these reside in two official HTTP implementation packages, net/http and golang.org/x/net/http2.
Given that Kubernetes relies on Go’s HTTP implementation, it too was found impacted, and three Kubernetes versions were released, based on patched Golang compilers. The fixed versions are Kubernetes v1.15.3, v1.14.6 and v1.13.10.
“A security issue has been found in the net/http library of the Go language that affects all versions and all components of Kubernetes. The vulnerabilities can result in a DoS against any process with an HTTP or HTTPS listener,” Kubernetes’ Micah Hausler notes.
Kubernetes components that allow for HTTP/2 connections may still be vulnerable in all previously released versions. While no exploits have been publicly observed, the liveness probe and healthz were all identified as vulnerable.