CVE-2026-50272
JavaScript 취약성 분석 및 완화

개요

CVE-2026-50272 is a remote Denial of Service vulnerability in dd-trace, the Datadog APM client for Node.js, caused by improper parsing of W3C baggage HTTP headers. The vulnerability affects all versions of the dd-trace npm package prior to 5.100.0. It was first published to the GitHub Advisory Database on July 15, 2026, with the underlying fix merged on May 4, 2026. It carries a CVSS v3.1 base score of 7.5 (High) (Github Advisory, Datadog Advisory).

기술적 세부 사항

The root cause is an asymmetric enforcement of resource limits (CWE-400, CWE-770): the DD_TRACE_BAGGAGE_MAX_ITEMS (default 64) and DD_TRACE_BAGGAGE_MAX_BYTES (default 8192) configuration limits were applied only during baggage injection (outbound), but not during baggage extraction (inbound) in packages/dd-trace/src/baggage.js and packages/dd-trace/src/opentracing/propagation/text_map.js. On each inbound HTTP request, the tracer's _extractBaggageItems method split the raw baggage header on commas and allocated a hash-map entry plus an AsyncLocalStorage.enterWith call for every key-value pair, with no upper bound on count or total byte size. An attacker can exploit this by sending HTTP requests with a baggage header containing an arbitrarily large number of comma-separated key-value pairs or a single extremely large value, causing unbounded CPU and memory consumption (Datadog Advisory, Fix PR, Fix Commit).

영향

Successful exploitation causes unbounded CPU and memory consumption on the targeted Node.js service, leading to a complete availability failure (remote Denial of Service). Because baggage propagation is enabled by default in dd-trace, any internet-facing HTTP service instrumented with an affected version is exposed without requiring authentication or user interaction. There is no confidentiality or integrity impact; the vulnerability is limited to availability (Github Advisory, Datadog Advisory).

착취 단계

  1. Reconnaissance: Identify internet-facing HTTP services instrumented with dd-trace versions prior to 5.100.0 (e.g., by inspecting response headers, error messages, or npm package manifests if accessible).
  2. Confirm baggage propagation is active: By default, DD_TRACE_PROPAGATION_STYLE includes baggage, so no special configuration is needed on the target. Confirm by sending a normal request and observing whether baggage headers are echoed or propagated.
  3. Craft malicious baggage header: Construct an HTTP request with a baggage header containing either (a) a very large number of comma-separated key-value pairs (e.g., key1=val1,key2=val2,...,keyN=valN with N >> 64) or (b) a single key with an extremely large value (e.g., foo= followed by megabytes of data).
  4. Send the request: Transmit the crafted request to any HTTP endpoint of the target service. No authentication is required.
  5. Trigger resource exhaustion: The tracer's extraction path allocates a hash-map entry for each pair without limit, consuming CPU and memory on every such request. Sending requests in rapid succession amplifies the effect, potentially crashing or hanging the service (Datadog Advisory, Fix Commit).

타협의 징후

  • Network: Inbound HTTP requests containing abnormally large baggage headers (e.g., headers exceeding 8 KB or containing more than 64 comma-separated key-value pairs); high-frequency requests to any endpoint from a single source IP with oversized baggage values.
  • Logs: Node.js process logs or APM tracer logs showing repeated baggage extraction activity; application logs indicating out-of-memory errors or process crashes correlated with spikes in inbound traffic.
  • Process: Sudden, sustained spikes in CPU and/or memory usage by the Node.js process without a corresponding increase in legitimate application load; process restarts or OOM-killer events in system logs (dmesg, /var/log/syslog) targeting the Node.js service PID.
  • Metrics: Datadog APM metrics showing elevated context_header.truncated counts (tag truncation_reason:baggage_item_count_exceeded or truncation_reason:baggage_byte_count_exceeded) if running a patched version that has been upgraded, or anomalous context_header_style.extracted rates on unpatched versions.

완화 및 해결 방법

Upgrade dd-trace to version 5.100.0 or later, which enforces DD_TRACE_BAGGAGE_MAX_ITEMS and DD_TRACE_BAGGAGE_MAX_BYTES limits on the extraction path (Release Notes). If an immediate upgrade is not possible, apply one or both of the following workarounds: (1) Disable baggage extraction by removing baggage from the DD_TRACE_PROPAGATION_STYLE environment variable (or DD_TRACE_PROPAGATION_STYLE_EXTRACT if set independently); (2) Cap the maximum HTTP request header size at an upstream proxy or web server — for example, using Apache LimitRequestFieldSize, Nginx large_client_header_buffers, or Envoy max_request_headers_kb (Datadog Advisory).

커뮤니티 반응

The vulnerability was noted in the CISA vulnerability bulletin SB26-201, indicating it was included in a weekly summary of high-priority vulnerabilities. A Mastodon post from @thehackerwire referenced the advisory shortly after publication. The issue is analogous to similar baggage-parsing DoS vulnerabilities disclosed in other OpenTelemetry ecosystem libraries, specifically opentelemetry-go (GHSA-mh2q-q3fh-2475) and opentelemetry-dotnet (GHSA-g94r-2vxg-569j), suggesting a broader pattern of missing extraction-side limits in distributed tracing libraries (Datadog Advisory).

추가 자료


근원이 보고서는 AI를 사용하여 생성되었습니다.

관련 JavaScript 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

GHSA-w4hw-qcx7-56prCRITICAL9.2
  • JavaScript logoJavaScript
  • shescape
아니요Jul 24, 2026
GHSA-gm3r-q2wp-hw87HIGH8.7
  • JavaScript logoJavaScript
  • shescape
아니요Jul 24, 2026
GHSA-q53c-4prm-w95qMEDIUM6.3
  • JavaScript logoJavaScript
  • shescape
아니요Jul 24, 2026
GHSA-8q49-2h5h-434xMEDIUM5.9
  • JavaScript logoJavaScript
  • @frontmcp/adapters
아니요Jul 24, 2026
GHSA-3r53-75j5-3g7jMEDIUM5.6
  • JavaScript logoJavaScript
  • quasar
아니요Jul 24, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자