gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, the xDS RBAC HTTP filter in internal/xds/httpfilter/rbac/rbac.go does not lowercase header matcher names in normalizeHeaderMatcher even though incoming metadata keys are lowercase. A DENY policy using a mixed-case name such as X-Role or User-Agent therefore does not match and fails open, allowing requests that should be rejected. The same case mismatch permits :Scheme or Grpc-Status to evade gRFC A41 validation and prevents Host from being rewritten to :authority. This issue is fixed in version 1.83.1.
{
"binaries": [
{
"binary_name": "libgrpc++1",
"binary_version": "1.16.1-1ubuntu5"
},
{
"binary_name": "libgrpc6",
"binary_version": "1.16.1-1ubuntu5"
},
{
"binary_name": "protobuf-compiler-grpc",
"binary_version": "1.16.1-1ubuntu5"
},
{
"binary_name": "python3-grpcio",
"binary_version": "1.16.1-1ubuntu5"
},
{
"binary_name": "ruby-grpc",
"binary_version": "1.16.1-1ubuntu5"
},
{
"binary_name": "ruby-grpc-tools",
"binary_version": "1.16.1-1ubuntu5"
}
]
}{
"binaries": [
{
"binary_name": "libgrpc++1",
"binary_version": "1.30.2-3build6"
},
{
"binary_name": "libgrpc10",
"binary_version": "1.30.2-3build6"
},
{
"binary_name": "protobuf-compiler-grpc",
"binary_version": "1.30.2-3build6"
},
{
"binary_name": "python3-grpcio",
"binary_version": "1.30.2-3build6"
},
{
"binary_name": "ruby-grpc",
"binary_version": "1.30.2-3build6"
},
{
"binary_name": "ruby-grpc-tools",
"binary_version": "1.30.2-3build6"
}
]
}{
"binaries": [
{
"binary_name": "libgrpc++1.51t64",
"binary_version": "1.51.1-4.1build5"
},
{
"binary_name": "libgrpc29t64",
"binary_version": "1.51.1-4.1build5"
},
{
"binary_name": "protobuf-compiler-grpc",
"binary_version": "1.51.1-4.1build5"
},
{
"binary_name": "python3-grpcio",
"binary_version": "1.51.1-4.1build5"
},
{
"binary_name": "ruby-grpc",
"binary_version": "1.51.1-4.1build5"
},
{
"binary_name": "ruby-grpc-tools",
"binary_version": "1.51.1-4.1build5"
}
]
}{
"binaries": [
{
"binary_name": "libgrpc++1.51t64",
"binary_version": "1.51.1-8ubuntu1"
},
{
"binary_name": "libgrpc29t64",
"binary_version": "1.51.1-8ubuntu1"
},
{
"binary_name": "protobuf-compiler-grpc",
"binary_version": "1.51.1-8ubuntu1"
},
{
"binary_name": "python3-grpcio",
"binary_version": "1.51.1-8ubuntu1"
},
{
"binary_name": "ruby-grpc",
"binary_version": "1.51.1-8ubuntu1"
},
{
"binary_name": "ruby-grpc-tools",
"binary_version": "1.51.1-8ubuntu1"
}
]
}