Heap out-of-bounds read in Clickhouse's LZ4 compression codec when parsing a malicious query. As part of the LZ4::decompressImpl() loop, a 16-bit unsigned user-supplied value ('offset') is read from the compressed data. The offset is later used in the length of a copy operation, without checking the lower bounds of the source of the copy operation.
{
"binaries": [
{
"binary_name": "clickhouse-client",
"binary_version": "18.16.1+ds-7ubuntu0.1"
},
{
"binary_name": "clickhouse-common",
"binary_version": "18.16.1+ds-7ubuntu0.1"
},
{
"binary_name": "clickhouse-server",
"binary_version": "18.16.1+ds-7ubuntu0.1"
},
{
"binary_name": "clickhouse-tools",
"binary_version": "18.16.1+ds-7ubuntu0.1"
}
],
"availability": "No subscription required"
}