protocolbuffers/protobuf-go · Security
Golang protojson.Unmarshal function infinite loop when unmarshaling certain forms of invalid JSON
- GHSA ID
- GHSA-8r3f-844c-mc37
- CVE ID
- CVE-2024-24786
- Severity
- medium
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v4
- 6.6 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
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.
CWEs
- CWE-835 · Loop with Unreachable Exit Condition ('Infinite Loop')
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-24786 ↗
- https://go.dev/cl/569356 ↗
- https://pkg.go.dev/vuln/GO-2024-2611 ↗
- 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/[email protected]/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU ↗
- http://www.openwall.com/lists/oss-security/2024/03/08/4 ↗
- https://security.netapp.com/advisory/ntap-20240517-0002 ↗
- https://github.com/advisories/GHSA-8r3f-844c-mc37 ↗