# CVE-2026-45684: OpenTelemetry eBPF Instrumentation: Log enricher writev path can overread and overwrite user buffers

> Attackers can trigger memory corruption via crafted writev calls when log injection is enabled, potentially leading to code execution or data modification.

- **Severity:** Medium 4.9 (`CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 2 Jun 2026
- **Updated:** 2 Jun 2026
- **Also known as:** GHSA-vvmg-8mjr-g6q3, GO-2026-5677

## What is CVE-2026-45684?

CVE-2026-45684 is a medium-severity memory corruption vulnerability in open-telemetry opentelemetry-ebpf-instrumentation, published on 2 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

OpenTelemetry eBPF Instrumentation provides eBPF instrumentation based on the OpenTelemetry standard. From version 0.7.0 to before version 0.9.0, OBI's log enricher mishandles writev buffers by reading only the first iovec entry but using the total iov_iter.count as the copy length. When log injection is enabled, a crafted multi-segment writev call can make OBI read and overwrite memory beyond the first segment. This issue has been patched in version 0.9.0.

Weakness: CWE-787 (Out-of-bounds Write), CWE-126 (Buffer Over-read)

## Which versions are affected by CVE-2026-45684?

3 open source packages ship an affected version, including go.opentelemetry.io/obi. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `go.opentelemetry.io/obi` | Go | From 0.7.0 | 0.9.0 |
| `go.opentelemetry.io/obi` | Go | From 0.7.0 | 0.9.0 |
| `go.opentelemetry.io/obi` | Go | From 0.7.0 | 0.9.0 |

Products: Opentelemetry Ebpf Instrumentation.

## How do I fix CVE-2026-45684?

Upgrade go.opentelemetry.io/obi to 0.9.0 or later.

## Is CVE-2026-45684 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45684 exists.

## Other vulnerabilities in open-telemetry opentelemetry-ebpf-instrumentation

- [CVE-2026-45678](https://insights.sbomify.com/CVE-2026-45678/): OpenTelemetry eBPF Instrumentation: Postgres BIND parsing can panic on malformed payloads (high 7.5)
- [CVE-2026-45685](https://insights.sbomify.com/CVE-2026-45685/): OpenTelemetry eBPF Instrumentation: MongoDB parser panics on malformed wire messages (high 7.5)
- [CVE-2026-45686](https://insights.sbomify.com/CVE-2026-45686/): OpenTelemetry eBPF Instrumentation: Memcached payload length overflow can crash OBI (high 7.5)
- [CVE-2026-45679](https://insights.sbomify.com/CVE-2026-45679/): OpenTelemetry eBPF Instrumentation: Redis error text is exported in span status messages (medium 6.5)
- [CVE-2026-45680](https://insights.sbomify.com/CVE-2026-45680/): OpenTelemetry eBPF Instrumentation: Unbounded BPF internal metrics replay can exhaust CPU (medium 5.9)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-45684 and fix it if it is affected.

What it is: CVE-2026-45684 is a medium-severity memory corruption vulnerability in open-telemetry opentelemetry-ebpf-instrumentation, published on 2 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45684 exists.

Affected packages and fixed versions:
- go.opentelemetry.io/obi (Go): affected from 0.7.0; fixed in 0.9.0
- go.opentelemetry.io/obi (Go): affected from 0.7.0; fixed in 0.9.0
- go.opentelemetry.io/obi (Go): affected from 0.7.0; fixed in 0.9.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-45684/ (Markdown: https://insights.sbomify.com/CVE-2026-45684/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-45684
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-45684
- OSV: https://osv.dev/vulnerability/CVE-2026-45684

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-45684/
Summaries are generated and may contain mistakes; the official description above is the record.
