CVE-2026-39882
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
Biblioteka OpenTelemetry-Go przed wersją 1.43.0 odczytuje pełną treść odpowiedzi HTTP do bufora w pamięci bez ograniczenia rozmiaru. Może to prowadzić do wyczerpania pamięci, gdy skonfigurowany punkt końcowy kolektora jest kontrolowany przez atakującego lub gdy atakujący może przechwycić połączenie.
Ocena ryzyka
Atakujący może spowodować awarię usługi przez wyczerpanie pamięci, co prowadzi do odmowy usługi (DoS) dla aplikacji korzystających z tej biblioteki.
Rekomendacja
Zaleca się aktualizację biblioteki OpenTelemetry-Go do wersji 1.43.0 lub nowszej.
Inne podatności w OpenTelemetry-Go
Zobacz wszystkie- CVE-2026-81872Średnie
OpenTelemetry-Go to implementacja OpenTelemetry w Go. Przed wersją 0.21.0 pakiet go.opentelemetry.io/otel/sdk/log BatchingProcessor może wejść w ciasną pętlę CPU, gdy emisja logów sterowana przez atakującego wypełnia asynchroniczny bufor eksportu, podczas gdy eksporter jest poddany backpressure. Nowy BatchingProcessor opakowuje eksporter w newBufferExporter(exporter, 1), a pętla odpytywania wywołuje queue.TryDequeue i bufferExporter.EnqueueExport przed natychmiastowym sygnalizowaniem pollTrigger, gdy kolejka pozostaje na poziomie lub powyżej batchSize. Ponieważ nieudane nieblokujące EnqueueExport pozostawia długość kolejki niezmienioną, procesor wielokrotnie ponawia próby bez oczekiwania na swój ticker, wyczerpując CPU i degradując lub odmawiając usługi w procesie osadzającym.
- CVE-2026-81871Średnie
OpenTelemetry-Go to implementacja OpenTelemetry w Go. Przed wersją 0.21.0 pakiet exporters/otlp/otlplog/otlploggrpc ładuje zmienne środowiskowe OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, OTEL_EXPORTER_OTLP_CERTIFICATE i powiązane certyfikaty klienta poprzez loadEnvTLS do cfg.tlsCfg, ale newGRPCDialOptions nie stosuje cfg.tlsCfg podczas tworzenia poświadczeń transportu gRPC. Ścieżka TLS tylko ze środowiska zamiast tego używa credentials.NewTLS z systemowymi korzeniami i bez skonfigurowanego certyfikatu klienta, omijając zamierzone przypinanie prywatnego CA i mutual TLS, chyba że aplikacja dostarczy również WithTLSCredentials. Atakujący sieciowy zdolny przechwycić lub podszyć połączenie z kolektorem za pomocą certyfikatu zaufanego systemowo może odczytać lub zmienić telemetrię logów.
- CVE-2026-81869Średnie
OpenTelemetry-Go to implementacja OpenTelemetry w Go. Od wersji 1.10.0 do 1.33.0 ścieżka obcinania atrybutów w sdk/trace/span.go może nie egzekwować AttributeValueLengthLimit dla atrybutów typu string i string-slice zawierających prawidłowy znak zastępczy Unicode U+FFFD. safeTruncateValidUTF8 traktuje prawidłowy znak zastępczy jako nieprawidłowy UTF-8 i zwraca oryginalne dane wejściowe, podczas gdy strings.ToValidUTF8 pozostawia ten prawidłowy znak niezmieniony, więc druga próba safeTruncate może również zwrócić zbyt dużą wartość. Atakujący kontrolujący zawartość atrybutów span może zachować wartości dłuższe niż skonfigurowany limit, zwiększając zużycie pamięci na span i osłabiając ochronę przed atakami typu denial-of-service w procesie instrumentowanym.
- CVE-2026-81870Niskie
OpenTelemetry-Go w wersjach od 1.5.0 do 1.44.0 w sdk/trace.NewTracerProvider emituje wewnętrzne zdarzenie diagnostyczne Info, którego implementacje MarshalLog rekurencyjnie zawierają konfigurację procesora span, eksportera i klienta. Aplikacje wywołujące otel.SetLogger mogą rejestrować punkty końcowe kolektorów OTLP gRPC i HTTP, flagę Insecure OTLP HTTP oraz pełne adresy URL kolektorów Zipkin.
- CVE-2026-45404Średnie
OpenTelemetry-Go w wersjach od 0.11.0 do 1.44.0 ma podatność na panikę w moście OpenTracing z powodu niesynchronizowanej mapy extraBaggageItems. Jednoczesne wywołania SetBaggageItem i correlation.MapFromContext na tym samym bridgeSpan mogą prowadzić do błędu krytycznego i zatrzymania procesu, co powoduje odmowę usługi. Poprawka jest w wersji 1.45.0.
- CVE-2026-45287Średnie
Implementacja OpenTelemetry-Go przed wersją 0.0.17 wycieka jeden deskryptor pliku przy każdym udanym wywołaniu `ParseFile`. Wielokrotne parsowanie w długotrwałym procesie może wyczerpać limit deskryptorów plików i spowodować odmowę usługi.
- CVE-2026-41178Średnie
OpenTelemetry-Go w wersjach 1.41.0 i 1.43.0 usunęło odrzucanie surowej długości, co powoduje, że funkcja `Parse` przetwarza dowolnie duże/nieprawidłowe nagłówki baggage i loguje błędy, umożliwiając atak DoS przez zbyt duże dane wejściowe. Wersje 1.42.0 i 1.44.0 naprawiają ten problem.
- CVE-2026-39883Wysokie
W OpenTelemetry-Go od wersji 1.15.0 do 1.42.0, poprawka dla CVE-2026-24051 zmieniła polecenie ioreg na ścieżkę bezwzględną, ale pozostawiła polecenie kenv z gołą nazwą, co umożliwia atak typu PATH hijacking na platformach BSD i Solaris.
- CVE-2026-29181Wysokie
OpenTelemetry-Go w wersjach od 1.36.0 do 1.40.0 przetwarza nagłówki 'baggage' w sposób umożliwiający atakującemu zwiększenie użycia CPU i alokacji pamięci poprzez wysłanie wielu linii nagłówka, nawet jeśli każda wartość mieści się w limicie 8192 bajtów.
Oryginalny opis (angielski, źródło NVD)
OpenTelemetry-Go is the Go implementation of OpenTelemetry. Prior to 1.43.0, the otlp HTTP exporters (traces/metrics/logs) read the full HTTP response body into an in-memory bytes.Buffer without a size cap. This is exploitable for memory exhaustion when the configured collector endpoint is attacker-controlled (or a network attacker can mitm the exporter connection). This vulnerability is fixed in 1.43.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

