Katalog CVE

CVE-2026-81872

ŚrednieCVSS 6.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

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.

Ocena ryzyka

Wyczerpanie CPU może prowadzić do degradacji lub odmowy usługi w procesie osadzającym, co może zakłócić działanie aplikacji i systemów.

Rekomendacja

Zaktualizuj OpenTelemetry-Go do wersji 0.21.0 lub nowszej, aby naprawić problem z pętlą CPU w BatchingProcessor.

Inne podatności w OpenTelemetry-Go

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

OpenTelemetry-Go is the Go implementation of OpenTelemetry. Prior to version 0.21.0, the go.opentelemetry.io/otel/sdk/log BatchingProcessor can enter a tight CPU loop when attacker-driven log emission fills its asynchronous export buffer while the exporter is backpressured. NewBatchingProcessor wraps the exporter with newBufferExporter(exporter, 1), and the poll loop calls queue.TryDequeue and bufferExporter.EnqueueExport before immediately signaling pollTrigger whenever the queue remains at or above batchSize. Because a failed nonblocking EnqueueExport leaves the queue length unchanged, the processor repeatedly retries without waiting for its ticker, exhausting CPU and degrading or denying service in the embedding process. This issue is fixed in version 0.21.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS