The protobuf crate before 3.7.2 for Rust allows uncontrolled recursion in the protobuf::codedinputstream::CodedInputStream::skip_group parsing of unknown fields in untrusted input.
{
"binaries": [
{
"binary_name": "librust-protobuf+bytes-dev",
"binary_version": "2.25.2-1"
},
{
"binary_name": "librust-protobuf+serde-derive-dev",
"binary_version": "2.25.2-1"
},
{
"binary_name": "librust-protobuf+serde-dev",
"binary_version": "2.25.2-1"
},
{
"binary_name": "librust-protobuf+with-serde-dev",
"binary_version": "2.25.2-1"
},
{
"binary_name": "librust-protobuf-dev",
"binary_version": "2.25.2-1"
}
]
}
{
"binaries": [
{
"binary_name": "librust-protobuf+bytes-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+serde-derive-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+serde-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+with-serde-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf-dev",
"binary_version": "2.27.1-1"
}
]
}
{
"binaries": [
{
"binary_name": "librust-protobuf+bytes-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+serde-derive-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+serde-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf+with-serde-dev",
"binary_version": "2.27.1-1"
},
{
"binary_name": "librust-protobuf-dev",
"binary_version": "2.27.1-1"
}
]
}