Authorization bypass in Contour
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.17.1, 1.14.2, 1.15.2, 1.16.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Contour is a Kubernetes ingress controller using Envoy proxy. In Contour before version 1.17.1 a specially crafted ExternalName type Service may be used to access Envoy's admin interface, which Contour normally prevents from access outside the Envoy container. This can be used to shut down Envoy remotely (a denial of service), or to expose the existence of any Secret that Envoy is using for its configuration, including most notably TLS Keypairs. However, it cannot be used to get the content of those secrets. Since this attack allows access to the administration interface, a variety of administration options are available, such as shutting down the Envoy or draining traffic. In general, the Envoy admin interface cannot easily be used for making changes to the cluster, in-flight requests, or backend services, but it could be used to shut down or drain Envoy, change traffic routing, or to retrieve secret metadata, as mentioned above. The issue will be addressed in Contour v1.18.0 and a cherry-picked patch release, v1.17.1, has been released to cover users who cannot upgrade at this time. For more details refer to the linked GitHub Security Advisory.
Timeline
- CVE published
- Record last updated
Affected versions
- projectcontour contour
fixed in 1.17.1
- github.com/projectcontour/contourGo
fixed in 1.14.2; From 1.15.0 · fixed in 1.15.2; From 1.16.0 · fixed in 1.16.1; From 1.17.0 · fixed in 1.17.1
- github.com/projectcontour/contourGo
fixed in 1.14.2
- github.com/projectcontour/contourGo
From 1.15.0 · fixed in 1.15.2
- github.com/projectcontour/contourGo
From 1.16.0 · fixed in 1.16.1
- github.com/projectcontour/contourGo
From 1.17.0 · fixed in 1.17.1