high7.5
CVE-2024-24786
Golang protojson.Unmarshal function infinite loop when unmarshaling certain forms of invalid JSON
Impact
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 packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | google.golang.org/protobuf | < 1.33.0 | 1.33.0 |
| go | google.golang.org/protobuf/encoding/protojson | < 1.33.0 | 1.33.0 |
| go | google.golang.org/protobuf/internal/encoding/json | < 1.33.0 | 1.33.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- http://www.openwall.com/lists/oss-security/2024/03/08/4
- https://go.dev/cl/569356
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU/
- https://pkg.go.dev/vuln/GO-2024-2611
- https://security.netapp.com/advisory/ntap-20240517-0002/
- https://github.com/advisories/GHSA-8r3f-844c-mc37
- https://nvd.nist.gov/vuln/detail/CVE-2024-24786
- https://github.com/protocolbuffers/protobuf-go/commit/f01a588e5810b90996452eec4a28f22a0afae023
- https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.33.0
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU
- https://security.netapp.com/advisory/ntap-20240517-0002