CVE-2023-45142 in Prometheus
Zusammenfassung
von VulDB • 01.06.2026
OpenTelemetry-Go Contrib ist eine Sammlung von Drittanbieter-Paketen für OpenTelemetry-Go. Ein standardmäßig verfügbarer Handler-Wrapper fügt Labels `http.user_agent` und `http.method` hinzu, die eine unbeschränkte Kardinalität aufweisen. Dies kann zu einem potenziellen Arbeitsspeichererschöpfung (Memory Exhaustion) des Servers führen, wenn viele bösartige Anfragen gesendet werden. Der HTTP-Header User-Agent oder die HTTP-Methode für Anfragen kann von einem Angreifer leicht auf zufällige und lange Werte gesetzt werden. Die Bibliothek verwendet intern `httpconv.ServerRequest`, das jeden Wert für HTTP `method` und `User-Agent` aufzeichnet. Um betroffen zu sein, muss ein Programm den Wrapper `otelhttp.NewHandler` verwenden und keine unbekannten HTTP-Methoden oder User-Agents auf der Ebene von CDN, Lastenausgleich (LB), vorherigen Middleware-Komponenten usw. filtern. Version 0.44.0 behob dieses Problem, indem die für das Attribut `http.request.method` gesammelten Werte auf eine Menge bekannter Werte beschränkt wurden und andere Attribute mit hoher Kardinalität entfernt wurden. Als Workaround, um nicht mehr betroffen zu sein, kann `otelhttp.WithFilter()` verwendet werden, dies erfordert jedoch eine manuelle, sorgfältige Konfiguration, um bestimmte Anfragen überhaupt nicht zu protokollieren. Zur Bequemlichkeit und sicheren Nutzung dieser Bibliothek sollte sie standardmäßig nicht standardmäßige HTTP-Methoden und User-Agents mit dem Label `unknown` markieren, um anzuzeigen, dass solche Anfragen gestellt wurden, die Kardinalität jedoch nicht erhöhen. Für den Fall, dass jemand das aktuelle Verhalten beibehalten möchte, sollte die Bibliotheks-API dies aktivieren können.
If you want to get best quality of vulnerability data, you may have to visit VulDB.