Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
google.golang.org/protobuf google.golang.org/protobuf/encoding/protojson
Default version status: unaffected
0 to < 1.33.0affected
google.golang.org/protobuf google.golang.org/protobuf/internal/encoding/json
Default version status: unaffected
0 to < 1.33.0affected
References
- https://go.dev/cl/569356 ↗
- https://pkg.go.dev/vuln/GO-2024-2611 ↗
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU/ ↗
- http://www.openwall.com/lists/oss-security/2024/03/08/4 ↗
- https://security.netapp.com/advisory/ntap-20240517-0002/ ↗