Red Hat Security Advisory: Streams for Apache Kafka 2.9.4 release and security update
🔗 CVE IDs covered (34)
📋 Description
CVE-2024-29371 — jose4j: jose4j: Denial of Service via malicious JSON Web Encryption (JWE) token compression CVE-2025-13465 — lodash: prototype pollution in _.unset and _.omit functions CVE-2025-58056 — netty-codec-http: Netty is vulnerable to request smuggling due to incorrect parsing of chunk extensions CVE-2026-1002 — io.vertx/vertx-core: static handler component cache can be manipulated to deny the access to static files CVE-2026-4800 — lodash: lodash: Arbitrary code execution via untrusted input in template imports CVE-2026-6860 — eclipse-vertx/vert.x: eclipse-vertx/vert.x: Denial of Service via TLS handshake with wildcard server name CVE-2026-23864 — react-server-dom-webpack: react-server-dom-parcel: reactreact-server-dom-turbopack: React Server Components: Denial of Service via specially crafted HTTP requests CVE-2026-24281 — Apache ZooKeeper: Apache ZooKeeper: Impersonation of servers or clients via reverse DNS spoofing CVE-2026-24308 — Apache ZooKeeper: Apache ZooKeeper: Information disclosure via improper handling of configuration values CVE-2026-27980 — next.js: Next.js: Unbounded next/image disk cache growth can exhaust storage CVE-2026-33870 — io.netty/netty-codec-http: Netty: Request smuggling via incorrect parsing of HTTP/1.1 chunked transfer encoding extension values CVE-2026-33871 — netty: Netty: Denial of Service via HTTP/2 CONTINUATION frame flood CVE-2026-34480 — org.apache.logging.log4j/log4j-core: Apache Log4j Core: Invalid XML output causes denial of service in logging CVE-2026-39852 — io.quarkus:quarkus-vertx-http: io.quarkus:quarkus-vertx-http: Authorization bypass via semicolons in HTTP requests CVE-2026-41240 — DOMPurify: DOMPurify: Cross-Site Scripting (XSS) via inconsistent tag sanitization CVE-2026-42044 — axios: Axios: Invisible JSON Response Tampering via Prototype Pollution Gadget CVE-2026-42583 — netty: io.netty/netty-codec-compression: io.netty/netty-codec: Netty: Denial of Service via excessive memory allocation in LZ4FrameDecoder CVE-2026-42587 — netty: io.netty/netty-codec-http: io.netty/netty-codec-http2: Netty: Denial of Service via unbounded memory allocation in HTTP content decompression CVE-2026-44249 — netty-handler: netty-handler: IPv6 subnet rule bypass due to incorrect masking operation CVE-2026-44573 — next.js: Next.js: Information disclosure due to middleware bypass in Pages Router with i18n CVE-2026-44574 — Next.js: Next.js: Authorization bypass via crafted query parameters CVE-2026-44575 — next.js: Next.js: Unauthorized access to protected content via middleware bypass CVE-2026-44577 — Next.js: Next.js: Denial of Service via Image Optimization API CVE-2026-44578 — Next.js: Next.js: Server-Side Request Forgery via crafted WebSocket upgrade requests CVE-2026-44579 — next.js: Next.js: Denial of Service via crafted POST requests to server actions CVE-2026-44893 — netty-codec-haproxy: Netty-codec-haproxy: Denial of Service via malformed HAProxy message CVE-2026-45109 — next.js: Next.js: Information disclosure via security fix bypass in middleware with Turbopack CVE-2026-45416 — netty-handler: Netty: Denial of Service due to eager buffer allocation in TLS handshake CVE-2026-45674 — netty-resolver-dns: Netty: Information disclosure and data manipulation due to improper CNAME record validation CVE-2026-47691 — io.netty/netty-resolver-dns: Netty has Insufficient Bailiwick Validation for NS Records CVE-2026-48043 — netty-codec-http2: netty-codec-http2: Denial of Service due to resource leak CVE-2026-48059 — netty-codec-haproxy: Netty HAProxy PROXY protocol v2 codec: Denial of Service via memory leak from crafted PROXY protocol headers CVE-2026-50010 — netty-handler: Netty: Improper trust manager handling leads to hostname verification bypass CVE-2026-50559 — io.quarkus/quarkus-vertx-http: Quarkus: Authorization bypass in HTTP path-based policies via encoded characters
🎯 Affected products1
- Streams for Apache Kafka 2.9.4
✅ Remediation
Before applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258 Workaround: To mitigate this issue, implement strict input validation before passing any property paths to the _.unset and _.omit functions to block attempts to access the prototype chain. Ensure that strings like __proto__, constructor and prototype are blocked, for example. Workaround: To mitigate this issue, enforce strict RFC compliance on all front-end proxies and load balancers so that lone LF characters in chunk extensions are rejected or normalized before being forwarded. Additionally, configure input validation at the application or proxy layer to block malformed chunked requests, ensuring consistent parsing across all components in the request path. Workaround: To mitigate this vulnerability, consider disabling the static handler cache by configuring the StaticHandler instance with setCachingEnabled(false), for example: ~~~ StaticHandler staticHandler = StaticHandler.create().setCachingEnabled(false); ~~~ Workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability. Workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. Workaround: To mitigate this issue, disable reverse DNS lookup in Apache ZooKeeper's client and quorum protocols. This can be achieved by configuring the `zookeeper.ssl.hostnameVerification.disableReverseDns` property to `true`. This configuration option is available in Apache ZooKeeper versions 3.8.6 and 3.9.5 and later. A restart of the ZooKeeper service will be required for the change to take effect. Workaround: To mitigate this issue, configure a reverse proxy or load balancer in front of the Quarkus application to normalize incoming URL paths by stripping matrix parameters (semicolons) before requests reach the Quarkus security layer. This ensures that authorization checks are performed on the intended path. Ensure that any changes to proxy configurations are thoroughly tested and services are reloaded or restarted as necessary to apply the new settings. Workaround: To mitigate this issue, configure applications utilizing Netty's `SslClientHelloHandler` to specify a non-zero value for the `maxClientHelloLength` parameter. This will enable the internal length validation, preventing the eager allocation of large memory buffers when processing crafted TLS ClientHello messages. Refer to your specific application's documentation for details on configuring Netty's TLS handler. A restart of the affected application or service is required for the configuration changes to take effect.
🔗 References (37)
- selfhttps://access.redhat.com/errata/RHSA-2026:34608
- externalhttps://access.redhat.com/security/updates/classification/#important
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2392996
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2423194
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2430180
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2431740
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2433059
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2445449
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2445451
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2448509
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2452453
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2452456
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2453496
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2457328
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2457819
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2461147
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2461624
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2466990
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477187
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477188
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477190
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477193
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477194
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477199
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477207
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477219
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2477220
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2486959
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488081
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488383
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488391
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488400
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488429
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488437
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488439
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2488442
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_34608.json