CyberRota Analysis
AI-GeneratedThe dd-trace-cpp library for C++ prior to version 2.1.0 is vulnerable to a denial-of-service attack due to improper handling of W3C baggage headers, allowing remote unauthenticated attackers to exploit this flaw by sending excessive key-value pairs or large values. This can lead to unbounded CPU and memory consumption, potentially impacting the performance of affected internet-facing services. Organizations using affected versions of dd-trace-cpp should prioritize upgrading to version 2.1.0 to mitigate this high-severity vulnerability.
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-cpp is the Datadog distributed tracing library for C++. Prior to 2.1.0, dd-trace-cpp parses incoming W3C baggage headers without enforcing DD_TRACE_BAGGAGE_MAX_ITEMS or DD_TRACE_BAGGAGE_MAX_BYTES on the extraction path, even though those limits are enforced during injection. A remote unauthenticated attacker can send a header containing many comma-separated key-value pairs or one very large value, causing per-request hash-map allocation and unbounded CPU and memory consumption. Baggage extraction is enabled by default in most affected tracers unless baggage is removed from DD_TRACE_PROPAGATION_STYLE or DD_TRACE_PROPAGATION_STYLE_EXTRACT, so affected internet-facing services can be denied service. This issue is fixed in version 2.1.0.