CVE-2026-87742

Denial of Service
Affects
Quarkus
in
Quarkus
No items found.
Versions
>=3.9.0 <3.27.5.3, >=3.28.0 <3.33.3.3, >=3.34.0 <3.39.5

Patch Available.

Exclamation circle icon
Patch Available

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

Overview

Quarkus is a Kubernetes-native Java framework optimized for cloud-native applications, containers, and serverless workloads. It builds on standard libraries (Jakarta EE, Eclipse Vert.x, Hibernate, Netty) and compiles to both JVM and GraalVM native images for fast startup and low memory use. The WebSockets Next extension (io.quarkus:quarkus-websockets-next) provides annotation-driven WebSocket server endpoints and clients built on Vert.x.

A denial of service vulnerability (CVE-2026-87742) has been identified in the Quarkus WebSockets Next extension, which allows attackers to exhaust heap memory and crash the JVM by streaming WebSocket messages over a single connection faster than the application can process them. When the endpoint does not require authentication, an unauthenticated remote attacker can trigger the crash.

Per OWASP: The Denial of Service (DoS) attack is focused on making a resource (site, application, server) unavailable for the purpose it was designed. There are many ways to make a service unavailable for legitimate users by manipulating network packets, programming, logical, or resources handling vulnerabilities, among others.

This issue affects multiple versions of Quarkus that include the io.quarkus:quarkus-websockets-next package.

Details

Module Info

Vulnerability Info

This High-severity vulnerability is found in the io.quarkus:quarkus-websockets-next package in multiple versions of Quarkus, having been first introduced in 3.9.0. The extension registers Vert.x message handlers on each WebSocket connection but never applies read backpressure to the underlying socket. Every inbound text or binary message is dispatched for processing as soon as it arrives, whether or not the handler has finished with the previous one:

ws.textMessageHandler(new Handler<String>() {
    @Override
    public void handle(String message) {
        Context duplicatedContext = newDuplicatedContext
                ? ContextSupport.createNewDuplicatedContext(context, connection)
                : context;
        duplicatedContext.runOnContext(new Handler<Void>() {
            @Override
            public void handle(Void event) {
                textAction.accept(message);
            }
        });
    }
});

The read stream is never paused, and the completion of an @OnTextMessage or @OnBinaryMessage callback does not control how many further messages are read. To serialize callback invocations, the per-connection ConcurrencyLimiter places every message that arrives while a callback is still running into an unbounded multi-producer queue:

this.queue = Queues.createMpscQueue();
...
queue.offer(new Action(queueIndex, action, context));

Nothing limits the number of queued messages per connection. A peer that sends messages (each just under the default 256 KB size limit) faster than the endpoint handler drains them causes the queued messages and their payloads to accumulate on the heap until the JVM fails with java.lang.OutOfMemoryError, taking down the whole application.

Mitigation

Only recent versions of Quarkus are community-supported. Older lines are End-of-Life and will not receive public updates to address this issue. Quarkus LTS releases are maintained for 12 months from release; see the project's LTS release policy.

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

  • Upgrade Quarkus to a currently supported release that contains the fix.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.

Credits

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
High
ID
CVE-2026-87742
PROJECT Affected
Quarkus
Versions Affected
>=3.9.0 <3.27.5.3, >=3.28.0 <3.33.3.3, >=3.34.0 <3.39.5
NES Versions Affected
Published date
October 22, 2026
≈ Fix date
October 9, 2026
Category
Denial of Service
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Quarkus
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.