CVE-2026-114603
Publiée le 2026-10-22 · Dernière modification le 2026-10-29
Les versions d'OpenTelemetry Python antérieures à 1.45.1 sont utilisées pour collecter et exporter des données de télémétrie provenant d'applications. La faille réside dans la manière dont la bibliothèque analyse les en-têtes « tracestate » à l'aide d'une expression régulière qui ne limite pas strictement les espaces blancs. Lorsqu'un en-tête spécialement conçu contenant un nombre excessif d'espaces ou de tabulations est reçu, l'analyseur entre dans un état de retour en arrière quadratique (quadratic backtracking), consommant ainsi une quantité massive de cycles CPU.
Un attaquant peut utiliser cela pour provoquer un déni de service (DoS) en épuisant les ressources du processeur, ce qui peut geler un worker synchrone ou retarder d'autres requêtes sur une boucle d'événements asynchrone. Cette attaque est facile à exécuter car elle ne nécessite aucune authentification ni interaction de l'utilisateur, et peut être déclenchée via une simple requête réseau. L'impact est strictement limité à la disponibilité ; elle ne permet pas à l'attaquant de voler des données, de modifier l'état du système ou d'exécuter du code arbitraire.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
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.