{"id":"CVE-2026-45292","aliases":["GHSA-rcgg-9c38-7xpx"],"url":"https://o3.security/vulnerability/CVE-2026-45292","summary":"opentelemetry-java: Unbounded Memory Allocation in W3C Baggage Propagation","details":"## Overview\n\nA vulnerability affects the baggage propagation implementation in\n`opentelemetry-api` and `opentelemetry-extension-trace-propagators`. Parsing oversized baggage\ncauses unbounded memory allocation and CPU consumption. Because baggage is automatically\nre-injected into every outgoing request, the effect can fan out to downstream services that\nnever received the original malicious request.\n\n## Technical Details\n\n- `W3CBaggagePropagator` did not enforce any limit on the total size or entry count of the\n  `baggage` header. The parser iterated character-by-character through the entire value\n  regardless of length.\n- `JaegerPropagator` and `OtTracePropagator` had the same gap in their respective baggage\n  extraction paths.\n- The W3C Baggage specification recommends a maximum of 8,192 bytes and 180 entries; none of\n  these limits were enforced.\n\n## Impact\n\nThe practical availability impact for most deployments is limited. Every major Java HTTP server\nenforces its own header size limit (Tomcat, Jetty, Netty, Vert.x, and gRPC-Java all default to\n8 KiB), constraining what an external attacker can deliver before the application is reached.\nThe risk is higher when transport-layer limits are absent — e.g., a compromised internal service\ncommunicating over a non-HTTP or custom transport.\n\n## Remediation\n\nUpdate to version 1.62.0 or later ([#8380](https://github.com/open-telemetry/opentelemetry-java/pull/8380)).\nThe fix enforces limits consistent with the W3C Baggage specification at the propagator level:\n\n- Maximum total baggage size: 8,192 bytes across all `baggage` header values\n- Maximum number of entries: 64\n\nHeaders that would exceed either limit are dropped at the point the limit is reached;\nalready-extracted valid entries are retained.\n\n## Workarounds\n\nEnsure HTTP header size limits are configured at the server or gateway level. Most Java HTTP\nservers enforce an 8 KiB header limit by default, which mitigates external attack vectors\nindependently of this fix.\n\n## References\n\n- [W3C Baggage Specification §Limits](https://www.w3.org/TR/baggage/#limits)","published":"2026-05-28T16:37:29.490Z","modified":"2026-09-18T08:14:39.362442Z","cvss":{"score":5.3,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"},"epss":{"score":0.01097,"percentile":0.6315,"asOf":"2026-08-26"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Maven","name":"io.opentelemetry:opentelemetry-api","fixedVersion":"1.62.0"},{"ecosystem":"Maven","name":"io.opentelemetry:opentelemetry-extension-trace-propagators","fixedVersion":"1.62.0"}],"fix":{"url":"https://github.com/open-telemetry/opentelemetry-java/commit/03837d3c1763bc35464aea1078671e2ef2336a5f","label":"open-telemetry/opentelemetry-java@03837d3"},"references":[{"type":"WEB","url":"https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.62.0"},{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45292.json"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:28573"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:36820"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:41951"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:43038"},{"type":"ADVISORY","url":"https://access.redhat.com/errata/RHSA-2026:60520"},{"type":"ADVISORY","url":"https://access.redhat.com/security/cve/CVE-2026-45292"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45292.json"},{"type":"ADVISORY","url":"https://github.com/open-telemetry/opentelemetry-java/security/advisories/GHSA-rcgg-9c38-7xpx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45292"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2482785"},{"type":"FIX","url":"https://github.com/open-telemetry/opentelemetry-java/commit/03837d3c1763bc35464aea1078671e2ef2336a5f"},{"type":"FIX","url":"https://github.com/open-telemetry/opentelemetry-java/pull/8380"},{"type":"PACKAGE","url":"https://github.com/open-telemetry/opentelemetry-java"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-18T08:14:39.362442Z"}}