Repository navigation
fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.21.0 [security] - #1067
red-hat-konflux[bot] wants to merge 1 commit into
Conversation
ℹ️ Artifact update noticeFile name: components/api-server/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: components/control-plane/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
HyperShell environment destroyedThis ephemeral OpenShift environment has been destroyed. Comment |
|
This pull request is closed, so it cannot be queued. Reopen it to get the box back. |
82ebb79 to
d5716cd
Compare
…[security] Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
d5716cd to
03a95e3
Compare
|
Consolidated into #1084, which carries this update. Closing in favor of that PR. |
Pull request was closed
This PR contains the following updates:
v0.20.0→v0.21.0Warning
Some dependencies could not be looked up. Check the warning logs for more information.
OpenTelemetry-Go: BatchProcessor can busy-spin when export buffer is full
CVE-2026-81872 / GHSA-hjf4-fphr-2h65 / GO-2026-6615
More information
Details
Summary
A
BatchingProcessoringo.opentelemetry.io/otel/sdk/logcan enter a tight CPU loop when the asynchronous export buffer is full. Under exporter backpressure, attacker-driven high-volume log emission can keep the queue at or above the batch size, causing repeated immediate export retries and a denial of service through CPU exhaustion.Introduced in commit: 4af9c20
Details
NewBatchingProcessorwraps the exporter withnewBufferExporter(exporter, 1)(sdk/log/batch.go:116-122), so the asynchronous export input can fill quickly when the downstream exporter blocks. The poll goroutine dequeues a batch withb.q.TryDequeue, callsb.exporter.EnqueueExport(r), and then immediately sends onb.pollTriggerwheneverqLen >= b.batchSize(sdk/log/batch.go:129-165).bufferExporter.EnqueueExportis non-blocking: it sends toe.inputif possible and returnsfalsein thedefaultcase when the channel is full (sdk/log/exporter.go:221-248).TryDequeueleavesq.lenunchanged when the write callback returnsfalse(sdk/log/batch.go:289-314). Therefore, while the exporter is backpressured,EnqueueExportfails, the queue remains at or above one full batch, and the poll loop continuously retriggers itself without waiting for the ticker.PoC
validation-artifact.zip
The validation artifact contains a PoC bundle:
validation-artifact.tar:main.go: PoC source.validation-artifact.tar:README.md: build/run notes.validation-artifact.tar:build_failed.log: captured build failure from the validation environment.The PoC configures a blocking exporter and a
BatchingProcessorwithWithExportMaxBatchSize(1),WithExportInterval(5*time.Second), andWithMaxQueueSize(2048). It emits 1000 records, records a CPU profile for 750 ms while the exporter is blocked, then writes/workspace/validation_artifacts/busyloop.pprof.Reproduction steps from an affected checkout at commit
4af9c20:cd /workspace/opentelemetry-go git checkout 4af9c20 mkdir -p validation_poc/busyloop /workspace/validation_artifacts /tmp/batchingprocessor-busyloop-poc tar -xf /path/to/this/finding/validation-artifact.tar -C /tmp/batchingprocessor-busyloop-poc cp /tmp/batchingprocessor-busyloop-poc/main.go validation_poc/busyloop/main.go go build -o validation_poc/busyloop/busyloop ./validation_poc/busyloop ./validation_poc/busyloop/busyloop go tool pprof -top /workspace/validation_artifacts/busyloop.pprofExpected program output:
Expected profile evidence: hot functions should include
(*BatchingProcessor).poll,(*queue).TryDequeue, and(*bufferExporter).EnqueueExport, showing repeated export attempts while the exporter is blocked.Impact
This is an availability vulnerability: uncontrolled CPU consumption caused by a busy-spin retry loop. Applications using
sdk/logBatchingProcessorare impacted when an attacker can cause sustained log emission and the configured exporter or downstream collector is slow, blocked, or otherwise backpressured. The impact is limited to the embedding process but can degrade or deny service for that application.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
OpenTelemetry-Go: BatchProcessor can busy-spin when export buffer is full in go.opentelemetry.io/otel/sdk/log
CVE-2026-81872 / GHSA-hjf4-fphr-2h65 / GO-2026-6615
More information
Details
OpenTelemetry-Go: BatchProcessor can busy-spin when export buffer is full in go.opentelemetry.io/otel/sdk/log
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
Configuration
📅 Schedule: (in timezone America/New_York)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.