CVE-2023-45142 in Prometheus
Riassunto
di VulDB • 16/06/2026
OpenTelemetry-Go Contrib è una raccolta di pacchetti di terze parti per OpenTelemetry-Go. Un wrapper del handler fornito "out of the box" aggiunge le etichette `http.user_agent` e `http.method`, che presentano cardinalità illimitata (unbound). Ciò può portare a un'esaurimento della memoria sul server quando vengono inviate molte richieste malevole. L'intestazione HTTP User-Agent o il metodo HTTP per le richieste possono essere facilmente impostati da un attaccante come casuali e di lunghezza elevata. La libreria utilizza internamente `httpconv.ServerRequest`, che registra ogni valore per l'HTTP `method` e `User-Agent`. Per essere vulnerabili, un programma deve utilizzare il wrapper `otelhttp.NewHandler` e non filtrare i metodi HTTP sconosciuti o gli User agent a livello di CDN, LB (Load Balancer), middleware precedenti, ecc. La versione 0.44.0 ha risolto questo problema modificando i valori raccolti per l'attributo `http.request.method`, limitandoli a un insieme di valori noti e rimuovendo altri attributi ad alta cardinalità. Come soluzione alternativa per evitare la vulnerabilità, può essere utilizzato `otelhttp.WithFilter()`, ma ciò richiede una configurazione manuale accurata per non registrare interamente determinate richieste. Per comodità e utilizzo sicuro di questa libreria, essa dovrebbe contrassegnare con l'etichetta `unknown` i metodi HTTP e gli User agent non standard in modo predefinito, indicando che tali richieste sono state effettuate senza aumentare la cardinalità. Nel caso in cui si desideri mantenere il comportamento attuale, l'API della libreria dovrebbe consentire di abilitarlo esplicitamente.
If you want to get best quality of vulnerability data, you may have to visit VulDB.