Skip to main content

OpenTelemetry OBI EUVDEUVD-2026-33953

| CVE-2026-45679 MEDIUM
Improper Output Neutralization for Logs (CWE-117)
2026-05-18 https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation GHSA-8rrq-wcg8-cv5q
6.5
CVSS 3.1 · Vendor: https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation
Share

Severity by source

Vendor (https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation) PRIMARY
6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
SUSE
MEDIUM
qualitative

Primary rating from Vendor (https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation).

CVSS VectorVendor: https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Source Code Evidence Fetched
May 18, 2026 - 18:34 vuln.today
Analysis Generated
May 18, 2026 - 18:34 vuln.today

DescriptionCVE.org

Summary

OBI exports raw Redis error text as the span status message. Because Redis error replies can contain attacker-controlled or sensitive values, this behavior can exfiltrate tokens, PII, or other confidential input into telemetry backends and inject untrusted text into downstream analysis systems.

Details

In pkg/ebpf/common/redis_detect_transform.go, getRedisError trims the raw error buffer and stores it directly in request.DBError.Description.

Later, pkg/appolly/app/request/span.go returns that description as the exported status message for Redis spans whenever the span status is non-zero.

There is no opt-in control or sanitization beyond CRLF trimming. As a result, raw Redis error text becomes part of OTLP-exported status metadata by default.

PoC

Local request-layer testing recorded a status message containing ERR invalid password for user bob secret=TOPSECRET, which shows that unfiltered Redis error text reaches the exported status message.

Use a vulnerable build:

bash
git checkout v0.0.0-rc.1+build
make build

Start Redis and OBI:

bash
docker run --rm -p 6379:6379 redis:7
sudo ./bin/obi

Send a command that causes Redis to return an error containing caller-supplied text:

bash
redis-cli -p 6379 'NOTACMD my-secret-token-123'

Capture the exported span or inspect the local telemetry output. On a vulnerable build, the span status message contains the Redis error text, including the supplied command fragment. This demonstrates that raw Redis error text is exported into telemetry by default and that values embedded in that text, including data supplied unintentionally by a caller, can be carried into tracing systems.

Impact

This is an information disclosure and telemetry injection issue. It affects any deployment that traces Redis traffic and exports spans to collectors, logs, or dashboards. Sensitive values, tokens, or PII present in Redis error text can be exfiltrated into telemetry systems, and untrusted text can contaminate downstream analysis.

AnalysisAI

OpenTelemetry eBPF Instrumentation (OBI) versions prior to 0.9.0 forwards raw Redis error replies verbatim into OTLP span status messages, enabling both information disclosure and telemetry injection against any deployment tracing Redis traffic. The getRedisError function in pkg/ebpf/common/redis_detect_transform.go applies only CRLF trimming before storing error text directly into request.DBError.Description, which span.go then exports as the span status message for every non-zero-status Redis span. A publicly available proof-of-concept demonstrates that caller-supplied values embedded in Redis error replies - including authentication credentials, tokens, and PII - are automatically propagated into OTLP collectors, dashboards, and log aggregators without requiring any special attacker position beyond the ability to trigger Redis errors. No public exploit identified at time of analysis beyond the included PoC; not in CISA KEV.

Technical ContextAI

OBI (go.opentelemetry.io/obi) is an eBPF-based auto-instrumentation agent for OpenTelemetry that intercepts application traffic at the kernel level - including the Redis Serialization Protocol (RESP) - without requiring code changes. When OBI observes a Redis error reply, the function getRedisError in pkg/ebpf/common/redis_detect_transform.go (lines 60-74) trims the raw kernel buffer and assigns it to request.DBError.Description. The function in pkg/app/request/span.go (lines 347-352) then unconditionally uses that description as the exported OTLP span status message for any Redis span whose status is non-zero. The root cause maps to CWE-117 (Improper Output Neutralization for Logs): the software writes externally influenced data - specifically Redis error text, which can echo back caller-supplied command fragments or reveal server-side authentication details - to an output channel (telemetry) without sanitization. Redis itself often reflects portions of invalid commands in its error replies (e.g., ERR unknown command 'NOTACMD', with args beginning with: my-secret-token-123), meaning attacker-controlled input can reliably flow into OBI-captured spans. The affected package is identified by CPE pkg:go/go.opentelemetry.io_obi, all versions below 0.9.0.

RemediationAI

Upgrade go.opentelemetry.io/obi to version 0.9.0 or later, which is the vendor-confirmed fixed release per the upstream advisory at https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/security/advisories/GHSA-8rrq-wcg8-cv5q. For deployments that cannot upgrade immediately, three compensating controls are available with noted trade-offs: First, disable Redis tracing in OBI's instrumentation configuration to prevent error capture entirely - this eliminates the exposure but removes Redis observability coverage. Second, deploy an OpenTelemetry Collector pipeline with the redaction processor configured to scrub or hash span status message fields before forwarding to storage backends - this preserves span structure while preventing sensitive text from reaching long-term storage, but requires collector infrastructure and introduces a processing step that may miss novel patterns. Third, restrict access to OTLP receivers, tracing backends, and dashboards to trusted operators only, reducing the population that can observe exfiltrated data - this is a containment measure, not a remediation, and does not prevent the data from entering the pipeline. Apply the upstream patch as soon as operationally feasible; the compensating controls above should be treated as temporary.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Module for Basesystem 15 SP7 Fixed
SUSE Linux Enterprise Server 15 SP7 Fixed
SUSE Linux Enterprise Server 16.0 Fixed

Share

EUVD-2026-33953 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy