{"schema_version":"1.3.1","id":"GO-2024-2611","modified":"2024-05-20T16:03:47Z","published":"2024-03-05T20:24:05Z","aliases":["CVE-2024-24786","GHSA-8r3f-844c-mc37"],"summary":"Infinite loop in JSON unmarshaling in google.golang.org/protobuf","details":"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":[{"package":{"name":"google.golang.org/protobuf","ecosystem":"Go"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.33.0"}]}],"ecosystem_specific":{"imports":[{"path":"google.golang.org/protobuf/encoding/protojson","symbols":["Unmarshal","UnmarshalOptions.Unmarshal","UnmarshalOptions.unmarshal"]},{"path":"google.golang.org/protobuf/internal/encoding/json","symbols":["Decoder.Peek","Decoder.Read"]}]}}],"references":[{"type":"FIX","url":"https://go.dev/cl/569356"}],"database_specific":{"url":"https://pkg.go.dev/vuln/GO-2024-2611","review_status":"REVIEWED"}}