Kafka Connect admin REST API auth bypass (CVE-2026-115644)
A separate admin.listeners setup can leave configured REST extensions unapplied, bypassing admin API authentication.
Auth bypass in Kafka Connect admin REST with split admin.listeners
Apache Kafka Connect does not apply rest.extension.classes security filters (such as BasicAuthSecurityRestExtension) to a separately configured admin.listeners endpoint. An unauthenticated attacker who can reach that listener can read logger names and levels, revealing loaded classes and security extensions, and change levels, including cluster-wide via scope=cluster. That can hide logs or flood them, harming observability and availability. Only deployments that isolate the admin REST API this way are affected.
What to do: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. Until then, remove or leave unset admin.listeners so admin resources share the secured main listener.
| Product | Affected | Fixed in |
|---|---|---|
| Apache Kafka Connect | — | 4.2.2, 4.3.2, and 4.4.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Apache Kafka Connect contains an authentication bypass vulnerability affecting the admin REST API when admin.listeners is configured with a separate listener from the main listeners property. When operators isolate the admin REST API by explicitly configuring the "admin.listeners" property, REST extensions specified via rest.extension.classes (such as BasicAuthSecurityRestExtension) are not registered or applied to the admin resource configuration. While the primary REST API listener (configured via listeners) enforces configured authentication and authorization filters, endpoints mounted under the separate admin listener (/admin/loggers) fail to inherit or instantiate these extension filters. As a result, the admin logger endpoint accepts unauthenticated read and write requests even when security extensions are active on the main listener. Impact: An unauthenticated attacker with network access to the admin listener can: 1. Read the complete set of logger names and levels, disclosing loaded class names and which security extensions are in use. 2. Write logger levels, including with scope=cluster which propagates the change to all workers in the Connect cluster. This can be used to suppress logging (setting root to OFF) or generate excessive log output (setting root to TRACE), potentially impacting availability and observability. Mitigation: Users who cannot upgrade immediately can remove the admin.listeners configuration (or leave it unset). When unset, admin resources share the regular listener and inherit its security extensions. Resolution: From Apache Kafka 4.2.2, 4.3.2, and 4.4.0, we make sure the REST extensions specified via "rest.extension.classes" will also apply to "admin.listeners".
A separate admin.listeners setup can leave configured REST extensions unapplied, bypassing admin API authentication.
Today 656 readers · 803 views · 606 reads · all time 158K views