Any project that parses untrusted Protocol Buffers data containing an arbitrary number of nested groups / series of SGROUP tags can corrupted by exceeding the stack limit i.e. StackOverflow. Parsing nested groups as unknown fields with DiscardUnknownFieldsParser or Java Protobuf Lite parser, or against Protobuf map fields, creates unbounded recursions that can be abused by an attacker.
| Version | Score | Severity | Vector String |
|---|---|---|---|
| 4.0 | 8.7 | High | 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 |
| Product | Vendor | Version |
|---|---|---|
| Protocol Buffers | <= 7.2.1 | |
| protobuf-java | SA6145P | |
| protobuf-javalite | <= 7.0.7 | |
| protobuf-kotlin | < 10.0.17763.5458 | |
| protobuf-kotllin-lite | SA6150P | |
| google-protobuf [JRuby Gem] | n/a | |
| Protocol Buffers | < publication | |
| protobuf-java | 21.sp1 ap363431 | |
| protobuf-javalite | n/a | |
| protobuf-kotlin | 21.sp1 ap362120 | |
| protobuf-kotllin-lite | < 8.2.170.0 | |
| google-protobuf [JRuby Gem] | n/a |