The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set.
Release Notes
protocolbuffers/protobuf-go (google.golang.org/protobuf)
### [`v1.33.0`](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0)
### [`v1.32.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.32.0)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0)
**Full Changelog**: https://github.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0
This release contains commit https://github.com/protocolbuffers/protobuf-go/commit/bfcd6476a38e41247d6bb43dc8f00b23ec9fffc2, which fixes a denial of service vulnerability by preventing a stack overflow through a default maximum recursion limit. See [https://github.com/golang/protobuf/issues/1583](https://togithub.com/golang/protobuf/issues/1583) and [https://github.com/golang/protobuf/issues/1584](https://togithub.com/golang/protobuf/issues/1584) for details.
### [`v1.31.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.31.0)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.30.0...v1.31.0)
##### Notable changes
**New Features**
- [CL/489316](https://go.dev/cl/489316): types/dynamicpb: add NewTypes
- Add a function to construct a dynamic type registry from a protoregistry.Files
- [CL/489615](https://go.dev/cl/489615): encoding: add MarshalAppend to protojson and prototext
**Minor performance improvements**
- [CL/491596](https://go.dev/cl/491596): encoding/protodelim: If UnmarshalFrom gets a bufio.Reader, try to reuse its buffer instead of creating a new one
- [CL/500695](https://go.dev/cl/500695): proto: store the size of tag to avoid multiple calculations
**Bug fixes**
- [CL/497935](https://go.dev/cl/497935): internal/order: fix sorting of synthetic oneofs to be deterministic
- [CL/505555](https://go.dev/cl/505555): encoding/protodelim: fix handling of io.EOF
### [`v1.30.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.30.0)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.29.1...v1.30.0)
- [Notable changes](#v1.30.0-notable-changes)
**Announcement**
In the previous two releases, v1.29.0 and v1.29.1, we associated the tags with the wrong commits and thus the tags do not reference any commit in this repository. This tag, v1.30.0, refers to an existing commit again. Sorry for the inconvenience.
#### Notable changes
**New Features**
- [CL/449576](https://go.dev/cl/449576): protoadapt: helper functions to convert v1 or v2 message to either v1 or v2 message.
### [`v1.29.1`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.29.1)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.29.0...v1.29.1)
- [Notable changes](#v1.29.1-notable-changes)
#### Notable changes
**Bug fixes**
- [CL/475995](https://go.dev/cl/475995): internal/encoding/text: fix parsing of incomplete numbers
### [`v1.29.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.29.0)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.28.1...v1.29.0)
- [Overview](#v1.29-overview)
- [Notable changes](#v1.29-notable-changes)
##### Overview
This version introduces a new package `protodelim` to marshal and unmarshal size-delimited messages.
It also brings the implementation up to date with the latest protobuf features.
##### Notable changes
**New Features**
- [CL/419254](https://go.dev/cl/419254): encoding: add protodelim package
- [CL/450775](https://go.dev/cl/450775): reflect/protoreflect: add Value.Equal method
- [CL/462315](https://go.dev/cl/462315): cmd/protoc-gen-go: make deprecated messages more descriptive
- [CL/473015](https://go.dev/cl/473015): encoding/prototext: allow whitespace and comments between minus sign and number in negative numeric literal
**Alignment with protobuf**
- [CL/426054](https://go.dev/cl/426054): types/descriptorpb: update \*.pb.go to use latest protoc release, 21.5
- [CL/425554](https://go.dev/cl/425554): encoding/protojson: fix parsing of google.protobuf.Timestamp
- [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers
- [CL/469255](https://go.dev/cl/469255): types/descriptorpb: regenerate using latest protobuf v22.0 release
- [CL/472696](https://go.dev/cl/472696): cmd/protoc-gen-go: support protobuf retention feature
**Documentation improvements:**
- [CL/464275](https://go.dev/cl/464275): proto: document Equal behavior of invalid messages
- [CL/466375](https://go.dev/cl/466375): all: update links to Protocol Buffer documentation
**Minor performance improvements**
- [CL/460215](https://go.dev/cl/460215): types/known/structpb: preallocate map in AsMap
- [CL/465115](https://go.dev/cl/465115): internal/strs: avoid unnecessary allocations in Builder
**Breaking changes**
- [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers
- protowire.(Number).IsValid() no longer returns false for reserved fields because reserved fields are considered semantically valid by the protobuf spec.
### [`v1.28.1`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.28.1)
[Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.28.0...v1.28.1)
This release contains protoc-gen-go binaries for arm64.
Notable changes since [v1.28.0](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.28.0):
- [CL/418677](https://golang.org/cl/418677): internal/impl: improve MessageInfo.New performance
- [CL/411377](https://golang.org/cl/411377): proto: short-circuit Equal when inputs are identical
- [CL/419714](https://golang.org/cl/419714): all: Add prebuild binaries for arm64
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v1.28.0
->v1.33.0
GitHub Vulnerability Alerts
CVE-2024-24786
The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set.
Release Notes
protocolbuffers/protobuf-go (google.golang.org/protobuf)
### [`v1.33.0`](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0) ### [`v1.32.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.32.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0) **Full Changelog**: https://github.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0 This release contains commit https://github.com/protocolbuffers/protobuf-go/commit/bfcd6476a38e41247d6bb43dc8f00b23ec9fffc2, which fixes a denial of service vulnerability by preventing a stack overflow through a default maximum recursion limit. See [https://github.com/golang/protobuf/issues/1583](https://togithub.com/golang/protobuf/issues/1583) and [https://github.com/golang/protobuf/issues/1584](https://togithub.com/golang/protobuf/issues/1584) for details. ### [`v1.31.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.31.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.30.0...v1.31.0) ##### Notable changes **New Features** - [CL/489316](https://go.dev/cl/489316): types/dynamicpb: add NewTypes - Add a function to construct a dynamic type registry from a protoregistry.Files - [CL/489615](https://go.dev/cl/489615): encoding: add MarshalAppend to protojson and prototext **Minor performance improvements** - [CL/491596](https://go.dev/cl/491596): encoding/protodelim: If UnmarshalFrom gets a bufio.Reader, try to reuse its buffer instead of creating a new one - [CL/500695](https://go.dev/cl/500695): proto: store the size of tag to avoid multiple calculations **Bug fixes** - [CL/497935](https://go.dev/cl/497935): internal/order: fix sorting of synthetic oneofs to be deterministic - [CL/505555](https://go.dev/cl/505555): encoding/protodelim: fix handling of io.EOF ### [`v1.30.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.30.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.29.1...v1.30.0) - [Notable changes](#v1.30.0-notable-changes) **Announcement** In the previous two releases, v1.29.0 and v1.29.1, we associated the tags with the wrong commits and thus the tags do not reference any commit in this repository. This tag, v1.30.0, refers to an existing commit again. Sorry for the inconvenience. #### Notable changes **New Features** - [CL/449576](https://go.dev/cl/449576): protoadapt: helper functions to convert v1 or v2 message to either v1 or v2 message. ### [`v1.29.1`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.29.1) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.29.0...v1.29.1) - [Notable changes](#v1.29.1-notable-changes) #### Notable changes **Bug fixes** - [CL/475995](https://go.dev/cl/475995): internal/encoding/text: fix parsing of incomplete numbers ### [`v1.29.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.29.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.28.1...v1.29.0) - [Overview](#v1.29-overview) - [Notable changes](#v1.29-notable-changes) ##### Overview This version introduces a new package `protodelim` to marshal and unmarshal size-delimited messages. It also brings the implementation up to date with the latest protobuf features. ##### Notable changes **New Features** - [CL/419254](https://go.dev/cl/419254): encoding: add protodelim package - [CL/450775](https://go.dev/cl/450775): reflect/protoreflect: add Value.Equal method - [CL/462315](https://go.dev/cl/462315): cmd/protoc-gen-go: make deprecated messages more descriptive - [CL/473015](https://go.dev/cl/473015): encoding/prototext: allow whitespace and comments between minus sign and number in negative numeric literal **Alignment with protobuf** - [CL/426054](https://go.dev/cl/426054): types/descriptorpb: update \*.pb.go to use latest protoc release, 21.5 - [CL/425554](https://go.dev/cl/425554): encoding/protojson: fix parsing of google.protobuf.Timestamp - [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers - [CL/469255](https://go.dev/cl/469255): types/descriptorpb: regenerate using latest protobuf v22.0 release - [CL/472696](https://go.dev/cl/472696): cmd/protoc-gen-go: support protobuf retention feature **Documentation improvements:** - [CL/464275](https://go.dev/cl/464275): proto: document Equal behavior of invalid messages - [CL/466375](https://go.dev/cl/466375): all: update links to Protocol Buffer documentation **Minor performance improvements** - [CL/460215](https://go.dev/cl/460215): types/known/structpb: preallocate map in AsMap - [CL/465115](https://go.dev/cl/465115): internal/strs: avoid unnecessary allocations in Builder **Breaking changes** - [CL/461238](https://go.dev/cl/461238): protobuf: remove the check for reserved field numbers - protowire.(Number).IsValid() no longer returns false for reserved fields because reserved fields are considered semantically valid by the protobuf spec. ### [`v1.28.1`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.28.1) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.28.0...v1.28.1) This release contains protoc-gen-go binaries for arm64. Notable changes since [v1.28.0](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.28.0): - [CL/418677](https://golang.org/cl/418677): internal/impl: improve MessageInfo.New performance - [CL/411377](https://golang.org/cl/411377): proto: short-circuit Equal when inputs are identical - [CL/419714](https://golang.org/cl/419714): all: Add prebuild binaries for arm64Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.