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 upper bounds of the source of the copy operation.
{
"binaries": [
{
"binary_version": "18.16.1+ds-7ubuntu0.1",
"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"
}
],
"availability": "No subscription required"
}