GHSA-5pf6-2qwx-pxm2

Suggest an improvement
Source
https://github.com/advisories/GHSA-5pf6-2qwx-pxm2
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/03/GHSA-5pf6-2qwx-pxm2/GHSA-5pf6-2qwx-pxm2.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-5pf6-2qwx-pxm2
Aliases
Downstream
CGA (12)
Published
2024-03-06T20:11:59Z
Modified
2026-07-17T21:05:55Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
Go SDK for CloudEvents's use of WithRoundTripper to create a Client leaks credentials
Details

Impact

What kind of vulnerability is it? Who is impacted? Using cloudevents.WithRoundTripper to create a cloudevents.Client with an authenticated http.RoundTripper causes the go-sdk to leak credentials to arbitrary endpoints.

The relevant code is here (also inline, emphasis added):

if p.Client == nil {
  p.Client = **http.DefaultClient**
}

if p.roundTripper != nil {
  p.Client.**Transport = p.roundTripper**
}

When the transport is populated with an authenticated transport such as:

... then http.DefaultClient is modified with the authenticated transport and will start to send Authorization tokens to any endpoint it is used to contact!

Found and patched by: @tcnghia and @mattmoor

Patches

v.2.15.2

Database specific
{
    "cwe_ids":  [
        "CWE-522"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2024-03-06T20:11:59Z",
    "nvd_published_at":  "2024-03-06T22:15:57Z",
    "severity":  "HIGH"
}
References

Affected packages

Go / github.com/cloudevents/sdk-go/v2

Package

Name
github.com/cloudevents/sdk-go/v2
View open source insights on deps.dev
Purl
pkg:golang/github.com/cloudevents/sdk-go/v2

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
2.15.2

Database specific

last_known_affected_version_range
"<= 2.15.1"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/03/GHSA-5pf6-2qwx-pxm2/GHSA-5pf6-2qwx-pxm2.json"