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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-client" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-client-dbgsym" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-common" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-common-dbgsym" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-server" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-server-dbgsym" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-tools" }, { "binary_version": "18.16.1+ds-7ubuntu0.1", "binary_name": "clickhouse-tools-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-client" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-client-dbgsym" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-common" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-common-dbgsym" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-server" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-server-dbgsym" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-tools" }, { "binary_version": "18.16.1+ds-7.4build2", "binary_name": "clickhouse-tools-dbgsym" } ] }