CVE-2026-95845

8.7

moquette-io · moquette

The Moquette MQTT broker fails to enforce limits on pending message queues, allowing unauthenticated remote attackers to trigger a denial of service via memory and storage exhaustion.

Executive summary

A vulnerability in the Moquette MQTT broker allows unauthenticated remote attackers to cause a denial of service by exhausting system resources through unbounded message queuing.

Vulnerability

The application is susceptible to CWE-770, which involves the allocation of resources without limits. An unauthenticated remote attacker can exploit this by flooding the broker with messages to a slow subscriber, causing the system to accumulate unlimited data in memory or storage.

Business impact

The exploitation of this vulnerability results in a denial of service, which can render the MQTT broker unresponsive to legitimate traffic. Given the CVSS score of 8.7, this represents a high-severity risk that could lead to significant operational downtime, particularly in IoT or messaging-heavy environments where real-time data transmission is critical.

Remediation

Immediate Action: Update the moquette-io moquette broker to version 0.18.1 or later to implement the necessary message queue length enforcement.

Proactive Monitoring: Monitor system memory usage and disk storage growth on the MQTT broker, specifically looking for spikes that correlate with high message throughput from specific client connections.

Compensating Controls: Deploy rate limiting or traffic shaping at the network edge or via a reverse proxy to restrict the volume of messages sent by individual clients to the broker.

Exploitation status

Public Exploit Available: No

Analyst recommendation

This vulnerability presents a clear risk to service availability due to the lack of resource constraints on session queues. Administrators should prioritize upgrading to version 0.18.1 immediately to prevent potential denial of service attacks that could disrupt critical messaging infrastructure.

More moquette-io CVEs

History

  1. Disclosed CVE record published
  2. Collected by CVE Brief via github
  3. Analyst report written
  4. Published in the daily brief high section

Sources