{"id":"CVE-2024-28110","aliases":["AZL-35751","AZL-35761","EUVD-2024-0835","GHSA-5pf6-2qwx-pxm2","GO-2024-2618","RHEA-2024:4022"],"status":"published","title":"Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00661,"percentile":0.51924,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-522"],"published":"2024-03-06T20:11:59Z","modified":"2026-10-28T02:30:46Z","fixes":[{"ecosystem":"Go","package":"github.com/cloudevents/sdk-go/v2","fixed_in":["2.15.2"],"sources":["ghsa","osv"]},{"ecosystem":"Azure Linux:3","package":"telegraf","fixed_in":["1.31.0-1"],"sources":["osv"]},{"ecosystem":"Azure Linux:2","package":"telegraf","fixed_in":["1.28.5-5"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/cloudevents/sdk-go/v2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.15.1"},{"fixed":"2.15.2"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"telegraf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.31.0-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"telegraf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.28.5-5"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/cloudevents/sdk-go/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.15.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/cloudevents/sdk-go/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.15.2"}]}]},{"source":"osv","ecosystem":"Red Hat:openshift_pipelines:1.15::el8","package":"openshift-pipelines-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.15.0-11496.el8"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:openshift_pipelines:1.15::el8","package":"openshift-pipelines-client-redistributable","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.15.0-11496.el8"}]}],"bundled":5}],"products":[{"vendor":"cloudevents","product":"go_sdk"},{"vendor":"cloudevents","product":"sdk-go"},{"vendor":"cloudevents","product":"sdk_go"}],"references":[{"url":"https://github.com/cloudevents/sdk-go/security/advisories/GHSA-5pf6-2qwx-pxm2","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web","article"]},{"url":"https://github.com/cloudevents/sdk-go/commit/de2f28370b0d2a0f64f92c0c6139fa4b8a7c3851","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/cloudevents/sdk-go/blob/67e389964131d55d65cd14b4eb32d57a47312695/v2/protocol/http/protocol.go#L104-L110","tags":["x_refsource_MISC","x_transferred","Product","web"]},{"url":"https://github.com/advisories/GHSA-5pf6-2qwx-pxm2"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-28110","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/28xxx/CVE-2024-28110.json","tags":["advisory"]},{"url":"https://github.com/cloudevents/sdk-go","tags":["package"]},{"url":"https://access.redhat.com/errata/RHEA-2024:4022","tags":["advisory"]},{"url":"https://docs.openshift.com/container-platform/4.14/cli_reference/tkn_cli/installing-tkn.html","tags":["article"]},{"url":"https://issues.redhat.com/browse/SRVKP-3124","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2024/rhea-2024_4022.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2023-45288","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2268273","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-45288","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-45288","tags":["advisory"]},{"url":"https://nowotarski.info/http2-continuation-flood/","tags":["article"]},{"url":"https://pkg.go.dev/vuln/GO-2024-2687","tags":["advisory"]},{"url":"https://www.kb.cert.org/vuls/id/421644","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2024-28110","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2268372","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-28110","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2024-28180","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2268854","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-28180","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-28180","tags":["advisory"]},{"url":"https://github.com/go-jose/go-jose/security/advisories/GHSA-c5q2-7r4c-mv6g","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2024-29902","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2274508","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-29902","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-29902","tags":["advisory"]},{"url":"https://github.com/sigstore/cosign/security/advisories/GHSA-88jx-383q-w4qc","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2024-29903","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2274504","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-29903","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-29903","tags":["advisory"]},{"url":"https://github.com/sigstore/cosign/security/advisories/GHSA-95pr-fxf5-86gv","tags":["article"]}],"sources":{"cve":[{"id":"CVE-2024-28110","title":"Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T21:12:26.991Z","modified":"2025-04-16T15:54:15.341Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-522"],"updated_at":"2026-11-02T14:34:18.597034Z"}],"euvd":[{"id":"EUVD-2024-0835","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T21:12:26Z","modified":"2025-04-16T15:54:15Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T20:52:24.837818Z"}],"ghsa":[{"id":"GHSA-5pf6-2qwx-pxm2","title":"Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials","description":"### Impact\n_What kind of vulnerability is it? Who is impacted?_\nUsing cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints.\n\nThe relevant code is [here](https://github.com/cloudevents/sdk-go/blob/67e389964131d55d65cd14b4eb32d57a47312695/v2/protocol/http/protocol.go#L104-L110) (also inline, emphasis added):\n\n\u003cpre\u003eif p.Client == nil {\n  p.Client = **http.DefaultClient**\n}\n\nif p.roundTripper != nil {\n  p.Client.**Transport = p.roundTripper**\n}\n\u003c/pre\u003e\n\nWhen the transport is populated with an authenticated transport such as:\n- [oauth2.Transport](https://pkg.go.dev/golang.org/x/oauth2#Transport)\n- [idtoken.NewClient(...).Transport](https://pkg.go.dev/google.golang.org/api/idtoken#NewClient)\n\n... then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to\n**any endpoint** it is used to contact!\n\nFound and patched by: @tcnghia and @mattmoor\n\n### Patches\nv.2.15.2","status":"published","published":"2024-03-06T20:11:59Z","modified":"2026-02-17T19:40:17Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-522"],"updated_at":"2026-11-02T14:39:25.82905Z"}],"nvd":[{"id":"CVE-2024-28110","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T22:15:57.55Z","modified":"2026-06-17T07:20:59.243Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-522"],"updated_at":"2026-11-02T14:09:39.488031Z"}],"osv":[{"id":"CVE-2024-28110","title":"Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T21:12:26.991Z","modified":"2026-10-28T02:30:46.748882197Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-522"],"updated_at":"2026-11-02T15:44:39.569658Z"},{"id":"GHSA-5pf6-2qwx-pxm2","title":"Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials","description":"### Impact\n_What kind of vulnerability is it? Who is impacted?_\nUsing cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints.\n\nThe relevant code is [here](https://github.com/cloudevents/sdk-go/blob/67e389964131d55d65cd14b4eb32d57a47312695/v2/protocol/http/protocol.go#L104-L110) (also inline, emphasis added):\n\n\u003cpre\u003eif p.Client == nil {\n  p.Client = **http.DefaultClient**\n}\n\nif p.roundTripper != nil {\n  p.Client.**Transport = p.roundTripper**\n}\n\u003c/pre\u003e\n\nWhen the transport is populated with an authenticated transport such as:\n- [oauth2.Transport](https://pkg.go.dev/golang.org/x/oauth2#Transport)\n- [idtoken.NewClient(...).Transport](https://pkg.go.dev/google.golang.org/api/idtoken#NewClient)\n\n... then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to\n**any endpoint** it is used to contact!\n\nFound and patched by: @tcnghia and @mattmoor\n\n### Patches\nv.2.15.2","status":"published","published":"2024-03-06T20:11:59Z","modified":"2026-09-10T03:50:00.238160348Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-522"],"updated_at":"2026-11-02T15:46:38.553953Z"},{"id":"RHEA-2024:4022","title":"Red Hat Enhancement Advisory: Red Hat OpenShift Pipelines Client tkn for 1.15.0 release","status":"published","published":"2025-02-26T10:05:17Z","modified":"2026-10-16T10:03:20Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:58.636919Z"},{"id":"AZL-35751","title":"CVE-2024-28110 affecting package telegraf for versions less than 1.31.0-1","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T22:15:57Z","modified":"2026-04-21T04:34:10.19538Z","updated_at":"2026-11-02T15:28:04.173658Z"},{"id":"AZL-35761","title":"CVE-2024-28110 affecting package telegraf for versions less than 1.28.5-5","description":"Go SDK for CloudEvents is the official CloudEvents SDK to integrate applications with CloudEvents. Prior to version 2.15.2, using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact. Version 2.15.2 patches this issue.","status":"published","published":"2024-03-06T22:15:57Z","modified":"2026-04-21T04:25:05.086493Z","updated_at":"2026-11-02T15:28:04.173658Z"},{"id":"GO-2024-2618","title":"Authentication token leak in github.com/cloudevents/sdk-go/v2","description":"Using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints. When the transport is populated with an authenticated transport, http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact.","status":"published","published":"2024-03-11T20:10:15Z","modified":"2026-02-04T03:20:26.217519Z","updated_at":"2026-11-02T15:47:01.453823Z"}]}}
