GHSA-5pf6-2qwx-pxm2

    Dashboard / Vulnerabilities / GHSA-5pf6-2qwx-pxm2

    GHSA-5pf6-2qwx-pxm2

    Published: 6 Mar 2024Last Modified: 10 Sept 2026

    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](https://github.com/cloudevents/sdk-go/blob/67e389964131d55d65cd14b4eb32d57a47312695/v2/protocol/http/protocol.go#L104-L110) (also inline, emphasis added): <pre>if p.Client == nil { p.Client = **http.DefaultClient** } if p.roundTripper != nil { p.Client.**Transport = p.roundTripper** } </pre> When the transport is populated with an authenticated transport such as: - [oauth2.Transport](https://pkg.go.dev/golang.org/x/oauth2#Transport) - [idtoken.NewClient(...).Transport](https://pkg.go.dev/google.golang.org/api/idtoken#NewClient) ... 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

    Affected packages

    Package

    Name: github.com/cloudevents/sdk-go/v2

    Purl: pkg:golang/github.com/cloudevents/sdk-go/v2

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -2.15.2

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High