GitHub Advisoryadvisory · Go
GHSA-8r3f-844c-mc37 Golang protojson.Unmarshal function infinite loop when unmarshaling certain forms of invalid JSON
MEDIUM
Official page ↗
- Aliases
- CVE-2024-24786
- Ecosystem
- Go
- Packages
- google.golang.org/protobuf, google.golang.org/protobuf/encoding/protojson, google.golang.org/protobuf/internal/encoding/json
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-835
- Reviewed
- 2024-03-13
Affected packages
• Go google.golang.org/protobuf: < 1.33.0 → fixed in 1.33.0
• Go google.golang.org/protobuf/encoding/protojson: < 1.33.0 → fixed in 1.33.0
• Go google.golang.org/protobuf/internal/encoding/json: < 1.33.0 → fixed in 1.33.0
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.
Related
Alias · CVE (1)
- CVE-2024-24786 The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. vulnerability
Weakness · CWE (1)
- CWE-835 Loop with Unreachable Exit Condition weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-24786 advisory
- https://github.com/protocolbuffers/protobuf-go/commit/f01a588e5810b90996452eec4a28f22a0afae023 web
- https://github.com/protocolbuffers/protobuf-go package
- https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.33.0 web
- https://go.dev/cl/569356 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU web
- https://pkg.go.dev/vuln/GO-2024-2611 web
- https://security.netapp.com/advisory/ntap-20240517-0002 web
- http://www.openwall.com/lists/oss-security/2024/03/08/4 web