CyberRota Analysis
AI-GeneratedThe dd-trace-rb library for Ruby is vulnerable to denial of service due to improper enforcement of baggage extraction limits, allowing remote unauthenticated attackers to exploit this by sending excessively large or numerous key-value pairs in HTTP headers. This can lead to unbounded CPU and memory consumption, impacting the performance of affected HTTP services. Organizations using versions prior to 2.32.0 should prioritize updating to the latest version to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
dd-trace-rb is Datadog's client library for Ruby. Prior to 2.32.0, W3C baggage extraction does not enforce DD_TRACE_BAGGAGE_MAX_ITEMS, which defaults to 64, or DD_TRACE_BAGGAGE_MAX_BYTES, which defaults to 8192, although those limits apply during baggage injection. A remote unauthenticated attacker can send a baggage HTTP header containing many comma-separated key-value pairs or a single very large value. The extraction path allocates entries while parsing the attacker-controlled header on every request, causing unbounded CPU and memory consumption in an HTTP service where the baggage propagation style is enabled, which is the default for most affected tracers. This can cause denial of service. This issue is fixed in version 2.32.0.