{"schemaVersion":3,"id":"CVE-2026-50276","aliases":["GHSA-p5f6-rccc-jv98"],"status":"published","duplicateOf":null,"title":null,"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.","dates":{"published":"2026-09-14T17:04:52.744Z","modified":"2026-09-14T17:38:12.401Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Rubygems","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00793,"percentile":0.55631,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.03399999999999992,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00759},"history":[{"date":"2026-09-15T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00793,"percentile":0.55631}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00759,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00793,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00793,"percentile":0.55631}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling","description":"The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/770.html"}],"affected":[{"vendor":"datadog","product":"dd-trace-rb","name":"dd-trace-rb","label":"dd-trace-rb","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 2.32.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.32.0","eol":null,"hubHref":"/vendor/datadog/dd-trace-rb"},{"vendor":"RubyGems","product":"datadog","name":"datadog","label":"datadog","ecosystem":"RubyGems","cpePart":null,"purl":"pkg:gem/datadog","purlType":"gem","versions":[{"text":"< 2.32.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.32.0","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/DataDog/dd-trace-rb/security/advisories/GHSA-p5f6-rccc-jv98","label":"github.com/DataDog/dd-trace-rb/security/advisories/GHSA-p5f6-rccc-jv98","hostname":"github.com","tags":["X Refsource CONFIRM","WEB"]},{"url":"https://github.com/DataDog/dd-trace-rb/pull/5672","label":"github.com/DataDog/dd-trace-rb/pull/5672","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/DataDog/dd-trace-rb/commit/361947090214488778ac4f144e219426ffcf92e6","label":"github.com/DataDog/dd-trace-rb/commit/361947090214488778ac4f144e219426ffcf92e6","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/DataDog/dd-trace-rb/releases/tag/v2.32.0","label":"github.com/DataDog/dd-trace-rb/releases/tag/v2.32.0","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/DataDog/dd-trace-rb","label":"github.com/DataDog/dd-trace-rb","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-14T17:04:52.744Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-14T17:38:12.401Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":30,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T14:26:29.617Z","stale":false,"partial":false}}