Skip to main content

opentelemetry-ebpf-profiler CVE-2026-48496

MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-06-23 https://github.com/open-telemetry/opentelemetry-ebpf-profiler GHSA-f2r5-5m7w-p5cx
6.2
CVSS 3.1 · Vendor: https://github.com/open-telemetry/opentelemetry-ebpf-profiler
Share

Severity by source

Vendor (https://github.com/open-telemetry/opentelemetry-ebpf-profiler) PRIMARY
6.2 MEDIUM
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
6.2 MEDIUM

AV:L confirmed by co-located process requirement; PR:N because unprivileged workload suffices; A:H for permanent, unrecoverable goroutine block; C/I remain N as no data access or modification occurs.

3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

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

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

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

Lifecycle Timeline

2
Source Code Evidence Fetched
Jun 23, 2026 - 23:01 vuln.today
Analysis Generated
Jun 23, 2026 - 23:01 vuln.today

DescriptionCVE.org

Summary

An unprivileged process can easily trigger the processPIDEvents goroutine to be blocked indefinitely, preventing the goroutine from analyzing any new ELF file. The goroutine stays blocked in the openat2 syscall forever and the profiler can no longer work properly, it is a denial of service.

Impact

The impact is limited to denial-of-service on the ebpf-profiler agent:

  • There has to be a malicious workload albeit unprivileged.
  • No exfiltration of data. No loss of data.

Fix

Fixed in https://github.com/open-telemetry/opentelemetry-ebpf-profiler/commit/234b685cab31c2cb2f79e966caeab168bcc489e4.

Fix is part of v.0.0.202622.

AnalysisAI

Permanent denial of service in opentelemetry-ebpf-profiler versions 0.0.202527 through 0.0.202621 allows any unprivileged co-located process to halt the agent's ELF analysis goroutine by placing a FIFO or special file at a path the profiler will attempt to open via openat2. Once blocked, the processPIDEvents goroutine never recovers, rendering the profiling agent inoperable for the lifetime of the process. No public exploit has been identified at time of analysis; impact is strictly confined to availability of the profiling agent with no data exposure or privilege escalation possible.

Technical ContextAI

The affected package is the Go module go.opentelemetry.io/ebpf-profiler (CPE: pkg:go/go.opentelemetry.io_ebpf-profiler), an eBPF-based continuous profiling agent from the OpenTelemetry project. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the original getMappingFile implementation constructed filesystem paths and called os.Open() directly without first verifying that the target was a regular file. On Linux, opening a FIFO (named pipe) or Unix domain socket with a standard open() syscall blocks indefinitely until a peer opens the other end - a behavior the kernel intentionally provides. Because the processPIDEvents goroutine made no such check before calling openat2, a malicious process could place a FIFO at a path within its own filesystem namespace (e.g., /proc/<pid>/root/...) that the profiler would resolve and attempt to open. The fix introduces an openInRoot helper that uses the O_PATH flag first (which never blocks on special files), performs an fstat to assert S_IFREG and non-zero size, then reopens via /proc/self/fd/<fd>. The fix also adds inode/device matching to prevent file substitution attacks and uses RESOLVE_IN_ROOT | RESOLVE_NO_MAGICLINKS to prevent symlink escapes from containers.

RemediationAI

Upgrade to opentelemetry-ebpf-profiler version 0.0.202622 or later, which contains the fix at commit 234b685cab31c2cb2f79e966caeab168bcc489e4 (https://github.com/open-telemetry/opentelemetry-ebpf-profiler/commit/234b685cab31c2cb2f79e966caeab168bcc489e4); the patched release is available at https://github.com/open-telemetry/opentelemetry-ebpf-profiler/releases/tag/v0.0.202622. If immediate upgrade is not feasible, restrict the workloads co-located with the ebpf-profiler agent to trusted processes only - in Kubernetes environments, apply strict PodSecurityAdmission policies (Baseline or Restricted profile) or OPA/Gatekeeper constraints to prevent untrusted workloads from scheduling on nodes where the profiler daemonset runs. This workaround adds operational complexity and does not fix the underlying defect, but eliminates the threat surface by ensuring no untrusted local processes can interact with the profiler's namespace.

Vendor StatusVendor

SUSE

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

Share

CVE-2026-48496 vulnerability details – vuln.today

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