Infinite loop in JSON unmarshaling in google.golang.org/protobuf
CVE-2024-24786

7.5HIGH

What is CVE-2024-24786?

An issue has been identified in Google's Protocol Buffers where the protojson.Unmarshal function can enter an infinite loop if it encounters certain types of invalid JSON data. This may particularly occur when trying to unmarshal into a message that contains a google.protobuf.Any value or when the UnmarshalOptions.DiscardUnknown parameter is activated. Such behavior could lead to performance degradation or application freeze, making it vital for developers to implement proper input validation when handling JSON with Protocol Buffers.

Affected Version(s)

google.golang.org/protobuf/encoding/protojson 0 < 1.33.0

google.golang.org/protobuf/internal/encoding/json 0 < 1.33.0

References

CVSS V3.1

Score:
7.5
Severity:
HIGH
Confidentiality:
None
Integrity:
None
Availability:
None
Attack Vector:
Network
Attack Complexity:
Low
Privileges Required:
None
User Interaction:
None
Scope:
Unchanged

Timeline

  • Vulnerability published

  • Vulnerability Reserved

.