mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-05 17:27:51 +00:00
Add a toggle to disable HTTP/2 on the server to mitigate CVE-2023-44487
until the Go standard library and golang.org/x/net are fully fixed.
This commit is contained in:
parent
891c52fe00
commit
ba77337ae4
1 changed files with 12 additions and 1 deletions
|
|
@ -82,7 +82,8 @@ type PrometheusAdapter struct {
|
|||
MetricsRelistInterval time.Duration
|
||||
// MetricsMaxAge is the period to query available metrics for
|
||||
MetricsMaxAge time.Duration
|
||||
|
||||
// DisableHTTP2 indicates that http2 should not be enabled.
|
||||
DisableHTTP2 bool
|
||||
metricsConfig *adaptercfg.MetricsDiscoveryConfig
|
||||
}
|
||||
|
||||
|
|
@ -156,6 +157,8 @@ func (cmd *PrometheusAdapter) addFlags() {
|
|||
"interval at which to re-list the set of all available metrics from Prometheus")
|
||||
cmd.Flags().DurationVar(&cmd.MetricsMaxAge, "metrics-max-age", cmd.MetricsMaxAge,
|
||||
"period for which to query the set of available metrics from Prometheus")
|
||||
cmd.Flags().BoolVar(&cmd.DisableHTTP2, "disable-http2", cmd.DisableHTTP2,
|
||||
"Disable HTTP/2 support")
|
||||
|
||||
// Add logging flags
|
||||
logs.AddFlags(cmd.Flags())
|
||||
|
|
@ -357,6 +360,14 @@ func main() {
|
|||
klog.Fatalf("unable to install resource metrics API: %v", err)
|
||||
}
|
||||
|
||||
// disable HTTP/2 to mitigate CVE-2023-44487 until the Go standard library
|
||||
// and golang.org/x/net are fully fixed.
|
||||
server, err := cmd.Server()
|
||||
if err != nil {
|
||||
klog.Fatalf("unable to fetch server: %v", err)
|
||||
}
|
||||
server.GenericAPIServer.SecureServingInfo.DisableHTTP2 = cmd.DisableHTTP2
|
||||
|
||||
// run the server
|
||||
if err := cmd.Run(stopCh); err != nil {
|
||||
klog.Fatalf("unable to run custom metrics adapter: %v", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue