CVE-2026-115644

Authorization Bypass
Affects
Apache Kafka
in
Apache Kafka
No items found.
Versions
>=2.4.0 <4.2.2, >=4.3.0 <4.3.2

Patch Available.

Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

Apache Kafka is an open-source distributed event streaming platform used for high-throughput, fault-tolerant data pipelines and stream processing. It stores records in partitioned, replicated, append-only logs on a cluster of brokers, and exposes producer, consumer, admin, Streams, and Connect APIs for publishing, subscribing to, and processing those records. The Java client and server components are published as Maven artifacts under org.apache.kafka.

An authorization bypass vulnerability (CVE-2026-115644) has been identified in the Kafka Connect REST server, which allows attackers with network access to a separately configured admin listener to read and change worker logger levels without authenticating. The REST extensions that secure the main listener, such as BasicAuthSecurityRestExtension, are never applied to the admin listener.

Per OWASP: Access control enforces policy such that users cannot act outside of their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of all data or performing a business function outside the user's limits.

This issue affects multiple versions of Apache Kafka, from 2.4.0 up to but not including 4.2.2, and from 4.3.0 up to but not including 4.3.2.

‍

Details

Module Info

Vulnerability Info

This Low-severity vulnerability is found in the org.apache.kafka:connect-runtime package in multiple versions of Apache Kafka. Kafka Connect lets operators secure its REST API with REST extensions listed in rest.extension.classes, such as BasicAuthSecurityRestExtension, which add authentication and authorization filters to the Jersey application. Operators can also move the admin endpoints (/admin/loggers) onto their own listener by setting admin.listeners.

When the REST server builds its resources, it registers the configured extensions on the main listener's ResourceConfig only. If admin.listeners is set to a separate listener, a new ResourceConfig is created for it with just the JSON provider, the logging resource and the exception mapper, and no extensions are ever registered on it:

registerRestExtensions(herder, resourceConfig);

List<String> adminListeners = config.getList(WorkerConfig.ADMIN_LISTENERS_CONFIG);
ResourceConfig adminResourceConfig;
if (adminListeners == null) {
    adminResourceConfig = resourceConfig;
    adminResourceConfig.register(new LoggingResource());
} else if (adminListeners.size() > 0) {
    adminResourceConfig = new ResourceConfig();
    adminResourceConfig.register(new JacksonJsonProvider());
    adminResourceConfig.register(new LoggingResource());
    adminResourceConfig.register(ConnectExceptionMapper.class);
}

The admin servlet is then served from this unprotected ResourceConfig. The main listener enforces the extension's filters, but requests to the admin listener never pass through them, so /admin/loggers accepts unauthenticated requests. An attacker who can reach the admin listener can list every logger and its level, which discloses loaded class names and the security extensions in use, and can set logger levels, for example turning the root logger off to suppress logging or to TRACE to flood the logs, which degrades the worker's observability and availability.

‍

Mitigation

Only recent versions of Apache Kafka are community-supported. Older lines are End-of-Life and will not receive public updates to address this issue. The Apache Kafka project does bugfix releases only for the last three minor releases; see the project's time-based release plan.

Users who cannot upgrade immediately can leave admin.listeners unset, so the admin endpoints share the main listener and its REST extensions.

Users of the affected components should apply one of the following mitigations:

  • Upgrade Apache Kafka to a currently supported release that contains the fix, such as 4.2.2.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.

‍

Credits

  • Bartłomiej Dmitruk from Striga (finder)
Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Low
ID
CVE-2026-115644
PROJECT Affected
Apache Kafka
Versions Affected
>=2.4.0 <4.2.2, >=4.3.0 <4.3.2
NES Versions Affected
Published date
November 6, 2026
≈ Fix date
November 4, 2026
Category
Authorization Bypass
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Apache Kafka
Rss feed icon
Subscribe via RSS
or

By submitting the form I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.