Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to broker as anonymous MQTT client
-
DeliveryOpen slow-ACK subscriber and fast publisher
-
ExploitFlood topic past full in-flight window
-
ExecutionUnbounded queue growth in memory/disk
-
ImpactResource exhaustion and broker denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Remote unauthenticated exploitation against default configurations of the Moquette MQTT broker, which permits anonymous clients by default. The concrete precondition is the messaging pattern itself: an attacker must sustain a fast publisher feeding a topic while a co-controlled (or victim) subscriber's QoS in-flight window stays full and its ACKs lag, so messages queue faster than they drain. No special feature flag is required, but exploitation is more damaging where durable/persistent session storage is enabled (adds disk exhaustion to memory exhaustion). Limiting factors: brokers configured to require authentication/ACLs restrict who can connect and publish, and network-isolated (non-internet-exposed) deployments reduce reachability; the pre-0.18.1 version constraint applies (fixed in 0.18.1, which caps queues at 32 elements). |
| Impact | The CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H, 8.7 HIGH) describes a purely availability-impacting flaw: network-reachable, low complexity, no privileges, no user interaction, with high availability impact and no confidentiality or integrity impact - consistent with CWE-770 (unbounded resource allocation). This is a genuine but bounded risk: it is a denial-of-service only, not RCE (the GHSA advisory explicitly states the ceiling on this memory-safe JVM is authz-bypass/DoS/integrity and disclaims any RCE). The 8.7 base score is high because Moquette is anonymous-by-default, making the exhaust-resources primitive reachable pre-authentication, but it produces no data compromise. No EPSS score, no CISA KEV listing, and no SSVC decision data were provided, so widespread or automated exploitation cannot be confirmed from the inputs. A source-only proof-of-concept cluster is referenced in the GHSA advisory, but the specific unbounded-queue DoS is described conceptually rather than as a weaponized network exploit. Net: a real, easy-to-trigger availability issue worth patching for internet-exposed brokers, but lacking the disclosure/integrity impact or confirmed active exploitation that would make it a top-tier emergency. |
| Exploit ScenarioDerived | An attacker connects to an exposed Moquette broker (anonymous by default) as a fast publisher and also opens a slow-ACKing subscriber whose in-flight window fills up, then floods the subscribed topic. Because pre-0.18.1 imposes no cap on the pending per-session queue, messages accumulate without bound in heap memory or the durable H2/persistent store until the broker exhausts memory or disk and crashes. The GHSA advisory references source-only PoCs for the broader vulnerability cluster, but no networked, weaponized exploit for this specific queue-exhaustion issue is confirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Unbounded per-session message queuing in Moquette MQTT Broker before 0.18.1 permits remote unauthenticated clients to exhaust broker memory or persistent storage by sustaining a fast publisher against a slow subscriber, causing denial of service. The CVSS 4.0 base score is 8.7 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N), consistent with a high-availability-only impact under CWE-770; the independent assessment CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H confirms no confidentiality or integrity impact. Default Moquette configurations permit anonymous clients, broadening exposure, and no public exploit identified at time of analysis; no CISA KEV entry, EPSS score, or public exploit specific to this queue-exhaustion issue is provided in the input.
RemediationAI
Upgrade to Moquette 0.18.1 or later; vendor-released patch: 0.18.1. The fix caps per-session queues at 32 elements and drops excess publish messages under overload with a log message, preserving broker availability at the cost of message loss for slow subscribers. Apply the release from https://github.com/moquette-io/moquette/releases/tag/v0.18.1 or the fix commit 2482cadfba44e615be704b892009a57ce06a1aba; consult GHSA-5f42-97gr-vfhq for advisory details. If immediate upgrade is not possible, disable anonymous access and require authentication/ACLs so untrusted clients cannot publish the fast-publisher/slow-subscriber pattern, accepting that this breaks clients that rely on anonymous connections. Network-isolate the MQTT listener or restrict it to trusted publishers/subscribers via firewall rules, which reduces reachability but may not fit public broker use cases. Where durable session storage is enabled, monitor disk and queue growth closely because the pre-0.18.1 broker can exhaust persistent storage as well as heap; this is a detection/mitigation, not a fix. Rate-limit or throttle publishers and limit slow subscribers' QoS in-flight windows at the client or gateway where possible, but those controls are not a substitute for the 0.18.1 queue-length cap.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Moquette is a lightweight Java MQTT broker. In MQTT QoS 1/2 outbound delivery, each session has an in-flight window; when that window is full, further PUBLISH messages are placed in a per-session queue until the subscriber acknowledges and drains earlier messages. Before 0.18.1, InMemoryQueue and durable queue implementations lacked a maximum length, so a fast publisher feeding a slow subscriber can grow the queue without bound, consuming heap and, where persistent sessions are enabled, disk. CWE-770 (Allocation of Resources Without Limits or Throttling) captures the root cause. The 0.18.1 fix introduces BrokerConstants.MAX_ELEMENT_IN_QUEUE = 32, makes InMemoryQueue throw IllegalStateException when capacity is exceeded, and updates Session.sendPublishInFlightWindowOrQueueing to log and drop excess messages rather than grow without bound; the Queue class also tracks queue length. The input CPE cpe:2.3:a:moquette-io:moquette:*:*:*:*:*:*:*:*:* and Maven package maven/io.moquette:moquette-broker identify the affected component. The broader GHSA advisory also documents other Moquette issues such as pattern-ACL wildcard injection and Will-message authorization bypass, but the independent assessment for this CVE scopes it to availability impact from unbounded session queues.
Know when Moquette gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Anonymous-by-default broker gives PR:N and network reach AV:N/AC:L; impact is availability-only resource exhaustion (A:H) with no confidentiality or integrity effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, the broker does not enforce a maximum length for pending per-session message queues. When a fast publisher sends messages to a slow subscriber whose in-flight window is full, queued messages can accumulate without bound in memory or persistent storage. Remote clients can use this condition to exhaust broker resources and cause a denial of service. This issue is fixed in version 0.18.1.
Technical POC Analysis
Evidence note: the supplied advisory (GHSA-5f42-97gr-vfhq) is a multi-issue cluster advisory whose stated CVE is CVE-2026-85724; the queue-exhaustion item is described inside it as a High-severity Do…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Moquette MQTT Broker versions prior to 0.18.1 are affected by a high-severity denial-of-service vulnerability that allows unauthenticated remote attackers to exhaust broker memory or storage. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis, but default configurations permit anonymous access, so organizations using Moquette for critical messaging face potential service outages that could disrupt dependent systems and business operations. Leadership should prioritize immediate network mitigations and monitor for a fix to prevent availability disruptions.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting network access to trusted clients, disabling anonymous access, configuring per-session message queue limits if supported, implementing rate limiting, and monitoring broker resource usage with alerting.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Moquette MQTT brokers running versions prior to 0.18.1 fail to enforce topic write ACLs on Last Will and Testament messa
Moquette MQTT brokers prior to 0.18.1 can start up with authentication and authorization silently disabled whenever a co
Durable MQTT sessions in Moquette 0.18.0 and earlier can corrupt each other's persisted queues when a client connects wi
Remote, pre-authentication denial of service in the Moquette MQTT broker (moquette-io moquette-broker) through 0.18.0 al
Denial of service in the Moquette lightweight Java MQTT broker prior to 0.18.1: a single remote, unauthenticated MQTT cl
Remote unauthenticated clients can crash a Moquette MQTT broker running 0.18.0 or earlier by publishing or subscribing w
Unauthorized message injection in the Moquette lightweight Java MQTT broker affects all releases prior to 0.18.1: PostOf
EUVD-2026-85415
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB