gRPC contains a vulnerability that allows hpack table accounting errors could lead to unwanted disconnects between clients and servers in exceptional cases/ Three vectors were found that allow the following DOS attacks:
The unbounded CPU consumption is down to a copy that occurred per-input-block in the parser, and because that could be unbounded due to the memory copy bug we end up with an O(n^2) parsing loop, with n selected by the client.
The unbounded memory buffering bugs:
{
"cwe_ids": [
"CWE-789",
"CWE-834"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/33xxx/CVE-2023-33953.json",
"cna_assigner": "Google",
"unresolved_ranges": [
{
"source": "AFFECTED_FIELD",
"extracted_events": [
{
"fixed": "1.56.1"
}
]
}
]
}{
"source": "CPE_RANGE",
"cpe": "cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "1.53.2"
},
{
"introduced": "1.54.0"
},
{
"fixed": "1.54.3"
},
{
"introduced": "1.56.0"
},
{
"fixed": "1.56.2"
}
]
}