CVE-2024-24786: Golang protojson.Unmarshal function infinite loop when unmarshaling certain forms of invalid JSON
(updated )
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.
References
- github.com/advisories/GHSA-8r3f-844c-mc37
- github.com/protocolbuffers/protobuf-go
- github.com/protocolbuffers/protobuf-go/commit/f01a588e5810b90996452eec4a28f22a0afae023
- github.com/protocolbuffers/protobuf-go/releases/tag/v1.33.0
- go.dev/cl/569356
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU
- nvd.nist.gov/vuln/detail/CVE-2024-24786
- pkg.go.dev/vuln/GO-2024-2611
- security.netapp.com/advisory/ntap-20240517-0002
Detect and mitigate CVE-2024-24786 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →