Kafka lets unauthorized principals read broker files (CVE-2026-112375)
An authenticated principal with no grants can make a broker return a host file or environment variable.
Unauthorized file and env read in Apache Kafka config change
An authenticated Kafka principal with no grants can send IncrementalAlterConfigs or AlterConfigs for a BROKER resource. Validation resolves file or environment variables before authorization and ignores the config-providers allowlist, returning contents in a type error. The broker process's permissions bound the read. Clusters with an authorizer are affected; clusters without one are not, because every principal already has ALTER_CONFIGS.
What to do: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. As defense in depth, run brokers under a least-privileged OS account so sensitive files are not readable by the broker process.
| Product | Affected | Fixed in |
|---|---|---|
| Apache Kafka | — | 4.2.2, 4.3.2, or 4.4.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
An authenticated Kafka principal with no authorization grants (not even ALTER_CONFIGS) can make a broker read a file or an environment variable from the broker host and return its contents. An IncrementalAlterConfigs (or AlterConfigs) request targeting a BROKER resource reaches the broker's configuration validation before any authorization check is applied to that path. Validation resolves configuration variables such as ${file:/path:key} or ${env:VAR} using a ConfigProvider named in the request, and this resolution bypasses the org.apache.kafka.automatic.config.providers allowlist that was added as the mitigation for CVE-2024-31141. An arbitrary ConfigProvider (for example FileConfigProvider or EnvVarConfigProvider) is therefore instantiated and the referenced file or environment variable is read, and a type-validation error returns the resolved content to the caller. Impact: On a cluster with an authorizer enabled, an authenticated principal with no authorization grants can read the contents of files accessible to the broker process, and the broker's environment variables, exposing credentials, keystores, or other secrets, defeating the CVE-2024-31141 allowlist. The read is bounded by the broker process's file permissions. The brokers and the cluster remain available; the issue is disclosure of file and environment- variable contents. Clusters with no authorizer configured are not affected in practice, because every principal already holds ALTER_CONFIGS there. Mitigation: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. As defense in depth, run brokers under a least-privileged operating-system account so that sensitive files are not readable by the broker process. Resolution: From Apache Kafka 4.2.2, 4.3.2, and 4.4.0: broker configuration changes are authorized (ALTER_CONFIGS on the cluster) before the configuration is validated, and configuration- variable resolution enforces the config-providers allowlist.
An authenticated principal with no grants can make a broker return a host file or environment variable.
Today 656 readers · 803 views · 606 reads · all time 158K views