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.
{ "binaries": [ { "binary_name": "elpa-protobuf-mode", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf-dev", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf-java", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf-lite23", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf-lite23-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf23", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotobuf23-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotoc-dev", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotoc23", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "libprotoc23-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "protobuf-compiler", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "protobuf-compiler-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "python3-protobuf", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "python3-protobuf-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "ruby-google-protobuf", "binary_version": "3.12.4-1ubuntu7.22.04.2" }, { "binary_name": "ruby-google-protobuf-dbgsym", "binary_version": "3.12.4-1ubuntu7.22.04.2" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "elpa-protobuf-mode", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf-dev", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf-java", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf-lite32t64", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf-lite32t64-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf32t64", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotobuf32t64-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotoc-dev", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotoc32t64", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "libprotoc32t64-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "php-google-protobuf", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "protobuf-compiler", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "protobuf-compiler-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "python3-protobuf", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "python3-protobuf-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "ruby-google-protobuf", "binary_version": "3.21.12-8.2ubuntu0.1" }, { "binary_name": "ruby-google-protobuf-dbgsym", "binary_version": "3.21.12-8.2ubuntu0.1" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "elpa-protobuf-mode", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf-dev", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf-java", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf-lite32t64", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf-lite32t64-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf32t64", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotobuf32t64-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotoc-dev", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotoc32t64", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "libprotoc32t64-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "php-google-protobuf", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "protobuf-compiler", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "protobuf-compiler-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "python3-protobuf", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "python3-protobuf-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "ruby-google-protobuf", "binary_version": "3.21.12-10ubuntu0.1" }, { "binary_name": "ruby-google-protobuf-dbgsym", "binary_version": "3.21.12-10ubuntu0.1" } ], "availability": "No subscription required" }