CVE-2026-42316
KQL injection via kusto.tables.topics.mapping in kafka-sink-azure-kusto
In short
The Kafka connector for Azure Data Explorer (Kusto) didn't properly validate configuration values, allowing someone with access to connector settings to inject malicious commands that could modify database schemas, tampering with data ingestion rules, or change database policies.
Technical detail
KQL injection vulnerability in kusto.tables.topics.mapping configuration due to unsafe String.formatted() interpolation of user-controlled db, table, mapping, and format fields into KQL commands. Threat actor with Kafka Connect configuration privileges can inject KQL metacharacters (;, |, ') to execute arbitrary management commands under the connector's service principal context, enabling schema enumeration/modification, ingestion-mapping tampering, and policy changes on Azure Data Explorer.
Summary generated and translated by AI from the official description.
kafka-sink-azure-kusto Kafka Connect plugin is the official Microsoft sink for Azure Data Explorer (Kusto). Prior to 5.2.3, kafka-sink-azure-kusto did not sanitize user-controlled values inside the kusto.tables.topics.mapping configuration. The db, table, mapping, and format fields of each mapping entry were interpolated directly into KQL management/query commands via String.formatted(...) (e.g., FETCH_TABLE_COMMAND.formatted(table) → "<table> | count", FETCH_TABLE_MAPPING_COMMAND.formatted(table, format, mapping) → ".show table <table> ingestion <format> mapping '<mapping>'"). An actor able to influence the connector configuration (for example, someone with permissions to submit or edit Kafka Connect connector configs) could embed KQL metacharacters (;, |, ') to execute arbitrary management commands in the context of the connector's service principal — enabling schema enumeration/modification, ingestion-mapping tampering, or changes to streaming/retention policies on the target Azure Data Explorer database. This is a tampering vulnerability. Exploitation requires privileged access to the connector configuration; no end-user interaction or Kafka record payload is involved. This vulnerability is fixed in 5.2.3.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N/E:P/RL:O/RC:C