<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>@Opentelemetry/Propagator-Jaeger (&lt; 2.9.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/@opentelemetry/propagator-jaeger--2.9.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 21 Jul 2026 19:12:07 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/@opentelemetry/propagator-jaeger--2.9.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>CVE-2026-59892: OpenTelemetry JaegerPropagator Denial of Service</title><link>https://feed.craftedsignal.io/briefs/2026-07-opentelemetry-jaeger-dos/</link><pubDate>Tue, 21 Jul 2026 19:12:07 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-opentelemetry-jaeger-dos/</guid><description>A critical denial of service vulnerability, CVE-2026-59892, exists in `@opentelemetry/propagator-jaeger` versions prior to 2.9.0, allowing an unauthenticated remote attacker to terminate Node.js applications configured with `JaegerPropagator` by sending a malformed percent-encoded value in `uber-trace-id` or `uberctx-*` HTTP headers, leading to an uncaught `URIError`.</description><content:encoded><![CDATA[<p>An unauthenticated remote denial-of-service vulnerability (CVE-2026-59892) affects Node.js applications utilizing <code>@opentelemetry/propagator-jaeger</code> versions older than 2.9.0. This flaw allows an attacker to send a specially crafted HTTP request containing a malformed percent-encoded value (such as a bare '%') within the <code>uber-trace-id</code> or <code>uberctx-*</code> HTTP headers. When <code>JaegerPropagator</code> attempts to decode this malformed header value using <code>decodeURIComponent()</code>, an uncaught <code>URIError</code> is triggered. If <code>JaegerPropagator</code> is configured as the sole active propagator, this exception propagates as an <code>uncaughtException</code>, causing the entire Node.js process to terminate immediately. This vulnerability allows for easy service disruption with a single request.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker sends an HTTP request to a target Node.js service.</li>
<li>The HTTP request includes a header, such as <code>uber-trace-id</code> or <code>uberctx-*</code>, with a malformed percent-encoded value (e.g., <code>uber-trace-id: %</code> or <code>uberctx-user: %</code>).</li>
<li>The target service is running a Node.js application that uses <code>@opentelemetry/propagator-jaeger</code> version &lt; 2.9.0.</li>
<li>The application has <code>JaegerPropagator</code> registered as its active global propagator (e.g., via <code>OTEL_PROPAGATORS=jaeger</code> or <code>propagation.setGlobalPropagator(new JaegerPropagator())</code>).</li>
<li>During context extraction, the <code>JaegerPropagator.extract()</code> method attempts to decode the malformed header value using <code>decodeURIComponent()</code>.</li>
<li>The <code>decodeURIComponent()</code> function throws a <code>URIError: URI malformed</code> due to the invalid percent-encoding.</li>
<li>Since the <code>JaegerPropagator</code> is not wrapped by a <code>CompositePropagator</code> (which would catch the error), the <code>URIError</code> propagates as an <code>uncaughtException</code>.</li>
<li>The Node.js process immediately terminates, resulting in a denial of service for the application.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability leads to a severe denial of service, allowing any unauthenticated remote attacker to terminate vulnerable Node.js applications with a single HTTP request. This disrupts service availability and can lead to significant downtime for affected organizations. The impact is specifically on service availability; confidentiality and integrity of data are not directly affected by this particular flaw. Organizations in any sector using the affected OpenTelemetry library configurations are susceptible to this easy-to-exploit DoS vector.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>@opentelemetry/propagator-jaeger</code> to version 2.9.0 or later to patch CVE-2026-59892.</li>
<li>As an interim mitigation, if immediate upgrading is not possible, implement controls at your edge (e.g., reverse proxy, API gateway, or load balancer like Nginx or Envoy) to strip or validate <code>uber-trace-id</code> and <code>uberctx-*</code> headers on all inbound requests. Ensure these headers are only accepted from trusted upstream services.</li>
<li>Verify if your <code>OTEL_PROPAGATORS</code> environment variable is set to include <code>jaeger</code> or if <code>propagation.setGlobalPropagator(new JaegerPropagator())</code> is called in your code.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>javascript</category><category>nodejs</category><category>opentelemetry</category></item></channel></rss>