Vulnerabilities in pkg:golang/go.opentelemetry.io/otel/propagation
PACKAGECVE-2026-41178 is a MODERATE (CVSS 5.3) opentelemetry-go's baggage parsing no longer vulnerability (CWE-789: Memory Allocation with Excessive Size Value) affecting Go.opentelemetry.io/otel/baggage libraries in the Go ecosystem. The issue involves opentelemetry-go's baggage parsing no longer caps raw header length. Remediation is available by upgrading affected packages to version 1.42.0, 1.44.0.
pkg:golang/go.opentelemetry.io/otel/propagation
Vulnerability advisories affecting package pkg:golang/go.opentelemetry.io/otel/propagation. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-5wrp-cwcj-q835 | CVE-2026-41178 | MODERATE | opentelemetry-go's baggage parsing no longer caps raw header length |
CVE-2026-41178 at a Glance
Security Impact
CVSS: 5.3
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L).
How to Fix CVE-2026-41178
To remediate this vulnerability, upgrade all affected Go.opentelemetry.io/otel/baggage dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade go.opentelemetry.io/otel/baggage to 1.42.0
Upgrade go.opentelemetry.io/otel/propagation to 1.42.0
Upgrade go.opentelemetry.io/otel/baggage to 1.44.0
Upgrade go.opentelemetry.io/otel/propagation to 1.44.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for go.opentelemetry.io/otel/baggage
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-41178, inspect your project dependencies for Go.opentelemetry.io/otel/baggage:
inspect dependencies for go.opentelemetry.io/otel/baggage
Analyze the terminal output to locate any version of Go.opentelemetry.io/otel/baggage in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.42.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-789: Memory Allocation with Excessive Size Value, where the product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated. In Go.opentelemetry.io/otel/baggage, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-41178 Affected Go.opentelemetry.io/otel/baggage Versions
4 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
go.opentelemetry.io/otel/baggage
|
Go |
≥ 1.41.0
< 1.42.0
All 1 versions
1.41.0
|
1.42.0
|
|
go.opentelemetry.io/otel/propagation
|
Go |
≥ 1.41.0
< 1.42.0
All 1 versions
1.41.0
|
1.42.0
|
|
go.opentelemetry.io/otel/baggage
|
Go |
≥ 1.43.0
< 1.44.0
All 1 versions
1.43.0
|
1.44.0
|
|
go.opentelemetry.io/otel/propagation
|
Go |
≥ 1.43.0
< 1.44.0
All 1 versions
1.43.0
|
1.44.0
|
References
Frequently Asked Questions
What is CVE-2026-41178?
Which Go.opentelemetry.io/otel/baggage versions are affected?
What version fixes CVE-2026-41178?
Is go.opentelemetry.io/otel/baggage affected?
Is go.opentelemetry.io/otel/propagation affected?
What is the CVSS score of CVE-2026-41178?
What CWE is associated with CVE-2026-41178?
How can I check Go dependencies for CVE-2026-41178?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-5wrp-cwcj-q835",
"modified" : "2026-06-09T11:53:08Z",
"published" : "2026-05-28T17:04:19Z",
"aliases" : [ "CVE-2026-41178" ],
"summary" : "opentelemetry-go's baggage parsing no longer caps raw header length",
"details" : "### Summary\n\nhttps://github.com/open-telemetry/opentelemetry-go/pull/7880 removed raw-length rejection and it causes `Parse` to process arbitrarily large/invalid baggage headers and log errors, enabling DoS via oversized inputs.\n\n\n### Details\n\nThe commit removes the upfront baggage-string length check and the per-member size guard in parsing. `Parse` now walks the entire input with `strings.SplitSeq` and skips invalid members while continuing to process the rest. For very large or malformed `baggage` headers, the parser still fully tokenizes and percent-decodes each member, and errors are forwarded to the global error handler (default logging). This lets a remote client send oversized/invalid headers to trigger excessive CPU/memory work and potentially large log output before any size limit is enforced, creating a denial-of-service risk in services that do not already enforce strict header size limits.\n\nSummary:\n- In `baggage/baggage.go`, `parseMember` performs full parsing and `PathUnescape` on the entire member without any size guard, amplifying work for large inputs. `Parse` no longer checks bStr length and continues processing invalid members, so oversized/invalid headers are fully parsed instead of being rejected early.\n- In `propagation/baggage.go`, parsing errors from attacker-controlled headers are sent to the global error handler (default logging), which can amplify oversized-input impact.\n\n### PoC\n\n[baggage_dos_poc.tar.gz](https://github.com/user-attachments/files/26677819/baggage_dos_poc.tar.gz)\n\n### Impact\n\nThe issue is reachable through standard propagation parsing (in-scope) and can be exploited remotely to cause CPU/log amplification, but the impact is availability-only and bounded by transport header limits and configurable error handling, supporting a medium severity rather than high/critical.\n\n`baggage.Parse` iterates over all list members with `strings.SplitSeq` and skips invalid members while continuing, without a raw-length guard. `parseMember` performs full parsing and `PathUnescape` on each member, and `propagation.Baggage` forwards parsing errors to the global error handler, which logs by default. A remote client can therefore send oversized/invalid baggage headers that bypass the 8KB limit for valid members, causing extra CPU work and large log output, resulting in availability/log amplification in services that accept large headers and use the default handler.\n\nAssumptions:\n\n- An instrumented service uses the OpenTelemetry baggage propagator for inbound request parsing.\n- Attackers can send oversized or malformed baggage headers that pass the hosting server/proxy header size limits.\n- The default error handler is used or logs are otherwise emitted for parse errors.\n- Inbound request parsing with propagation.Baggage\n- Oversized/invalid baggage headers accepted by the HTTP/gRPC stack\n- Error handler not suppressing parse errors",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "go.opentelemetry.io/otel/baggage"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "1.41.0"
}, {
"fixed" : "1.42.0"
} ]
} ],
"versions" : [ "1.41.0" ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "go.opentelemetry.io/otel/propagation"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "1.41.0"
}, {
"fixed" : "1.42.0"
} ]
} ],
"versions" : [ "1.41.0" ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "go.opentelemetry.io/otel/baggage"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "1.43.0"
}, {
"fixed" : "1.44.0"
} ]
} ],
"versions" : [ "1.43.0" ]
}, {
"package" : {
"ecosystem" : "Go",
"name" : "go.opentelemetry.io/otel/propagation"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "1.43.0"
}, {
"fixed" : "1.44.0"
} ]
} ],
"versions" : [ "1.43.0" ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-5wrp-cwcj-q835"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-41178"
}, {
"type" : "WEB",
"url" : "https://github.com/open-telemetry/opentelemetry-go/pull/7880"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/open-telemetry/opentelemetry-go"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-789" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-05-28T17:04:19Z",
"nvd_published_at" : "2026-06-04T16:16:37Z"
}
}