Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[25.0 backport] vendor: google.golang.org/protobuf v1.33.0, github.com/golang/protobu… #47753

Open
wants to merge 4 commits into
base: 25.0
Choose a base branch
from

Conversation

austinvazquez
Copy link
Contributor

@austinvazquez austinvazquez commented Apr 25, 2024

- What I did
Backports #47562 to resolve GO-2024-2611 for 25.0 branch.

Transitively required backport of:

- How I did it

git cherry-pick -xsS 407ad89ff02b353aea7019c7c3a7d6e164d77059
git cherry-pick -xsS 2799417da109d5eb71c517b8fc6ec41b00bc8389
git cherry-pick -xsS 10a72f2504e11a1314b4adcf0080033439bb1aed
git cherry-pick -xsS 1ca89d7eae84346a7241f9d7033a7f591ff3a1fa

- How to verify it
CI is successful

- Description for the changelog

vendor: golang.org/x/sync v0.5.0 
vendor: golang.org/x/mod v0.13.0, golang.org/x/tools v0.13.0
vendor: cloud.google.com/go/logging v1.8.1
vendor: google.golang.org/protobuf v1.33.0, github.com/golang/protobuf v1.5.4

- A picture of a cute animal (not mandatory but encouraged)

Untitled

@austinvazquez austinvazquez changed the title [Backport 25.0] vendor: google.golang.org/protobuf v1.33.0, github.com/golang/protobu… [25.0 backport] vendor: google.golang.org/protobuf v1.33.0, github.com/golang/protobu… Apr 25, 2024
@austinvazquez austinvazquez force-pushed the cherry-pick-1ca89d7eae84346a7241f9d7033a7f591ff3a1fa-to-25.0 branch from 4f96fbf to 1bbbbbf Compare April 25, 2024 00:38
full diff: https://github.com/golang/sync/comopare/v0.3.0...v0.5.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
full diff:

- https://github.com/golang/mod/comopare/v0.11.0...v0.13.0
- https://github.com/golang/tools/comopare/v0.10.0...v0.13.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2799417)
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
full diff: googleapis/google-cloud-go@logging/v1.7.0...logging/v1.8.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 10a72f2)
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
…f v1.5.4

full diffs:

- protocolbuffers/protobuf-go@v1.31.0...v1.33.0
- golang/protobuf@v1.5.3...v1.5.4

From the Go security announcement list;

> Version v1.33.0 of the google.golang.org/protobuf module fixes a bug in
> the google.golang.org/protobuf/encoding/protojson package which could cause
> the Unmarshal function to enter an infinite loop when handling some invalid
> inputs.
>
> This condition could only occur when unmarshaling into a message which contains
> a google.protobuf.Any value, or when the UnmarshalOptions.UnmarshalUnknown
> option is set. Unmarshal now correctly returns an error when handling these
> inputs.
>
> This is CVE-2024-24786.

In a follow-up post;

> A small correction: This vulnerability applies when the UnmarshalOptions.DiscardUnknown
> option is set (as well as when unmarshaling into any message which contains a
> google.protobuf.Any). There is no UnmarshalUnknown option.
>
> In addition, version 1.33.0 of google.golang.org/protobuf inadvertently
> introduced an incompatibility with the older github.com/golang/protobuf
> module. (golang/protobuf#1596) Users of the older
> module should update to github.com/golang/protobuf@v1.5.4.

govulncheck results in our code:

    govulncheck ./...
    Scanning your code and 1221 packages across 204 dependent modules for known vulnerabilities...

    === Symbol Results ===

    Vulnerability #1: GO-2024-2611
        Infinite loop in JSON unmarshaling in google.golang.org/protobuf
      More info: https://pkg.go.dev/vuln/GO-2024-2611
      Module: google.golang.org/protobuf
        Found in: google.golang.org/protobuf@v1.31.0
        Fixed in: google.golang.org/protobuf@v1.33.0
        Example traces found:
          #1: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls json.Decoder.Peek
          #2: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls json.Decoder.Read
          moby#3: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls protojson.Unmarshal

    Your code is affected by 1 vulnerability from 1 module.
    This scan found no other vulnerabilities in packages you import or modules you
    require.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 1ca89d7)
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
@austinvazquez austinvazquez force-pushed the cherry-pick-1ca89d7eae84346a7241f9d7033a7f591ff3a1fa-to-25.0 branch from 1bbbbbf to 3d56d73 Compare April 25, 2024 03:27
@austinvazquez austinvazquez marked this pull request as ready for review April 25, 2024 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants