Description
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, H2PersistentQueue derives a session's message-map name as queue_ plus the client ID and its metadata-map name as queue_ plus the client ID plus _meta. A durable session whose client ID ends in _meta can therefore make its message map collide with another client's metadata map. The colliding sessions read and write the same H2 MVStore map with incompatible value types, which can corrupt queue head and tail data and cause message loss, misdelivery, failed queue reloads, or exposure of queued content across sessions. This issue is fixed in version 0.18.1.
Published: 2026-09-23
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Data corruption causing message loss, misdelivery, and exposure across MQTT sessions
Action: Apply Patch
AI Analysis

Impact

Moquette implements durable queues by naming the H2 MVStore maps based on the client ID. Because a client ID that ends with the suffix '_meta' is used for the metadata map, a durable session can unintentionally use the same map name for its message queue. This accidental collision causes the broker to read and write the same underlying map with incompatible value types, corrupting queue head and tail metadata. As a result, clients may lose messages, receive messages out of order, see queued data that belongs to another session, or face failed queue reloads.

Affected Systems

The issue affects the Moquette broker version prior to 0.18.1. Applications running Moquette 0.18.0 or earlier are vulnerable when they accept client IDs that end with the suffix '_meta'.

Risk and Exploitability

With a CVSS score of 8.8 the vulnerability is considered high severity. No EPSS score is available, so the current exploitation probability is uncertain, and the vulnerability is not listed in the CISA KEV catalog. An attacker who can control the client ID of a durable connection can trigger the collision by using a value ending in '_meta'; the attack vector is therefore a remote client connection over the MQTT protocol.

Generated by OpenCVE AI on September 23, 2026 at 17:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Moquette to version 0.18.1 or later, which removes the queue naming collision.
  • Validate or restrict client IDs so that they do not end with the suffix '_meta', preventing accidental map name overlap.
  • If an upgrade is not immediately possible, isolate the broker by allowing only trusted clients, and restart the broker to rebuild any corrupted queues while monitoring logs for MVStore errors.

Generated by OpenCVE AI on September 23, 2026 at 17:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 23 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 23 Sep 2026 16:45:00 +0000

Type Values Removed Values Added
Description Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, H2PersistentQueue derives a session's message-map name as queue_ plus the client ID and its metadata-map name as queue_ plus the client ID plus _meta. A durable session whose client ID ends in _meta can therefore make its message map collide with another client's metadata map. The colliding sessions read and write the same H2 MVStore map with incompatible value types, which can corrupt queue head and tail data and cause message loss, misdelivery, failed queue reloads, or exposure of queued content across sessions. This issue is fixed in version 0.18.1.
Title Moquette client IDs can cause cross-session H2 durable-queue corruption
Weaknesses CWE-99
References
Metrics cvssV4_0

{'score': 8.8, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-23T16:50:25.152Z

Reserved: 2026-09-22T16:39:45.794Z

Link: CVE-2026-95847

cve-icon Vulnrichment

Updated: 2026-09-23T16:50:18.677Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-23T17:17:21.780

Modified: 2026-09-23T18:12:04.247

Link: CVE-2026-95847

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-23T17:30:06Z

Weaknesses
  • CWE-99

    Improper Control of Resource Identifiers ('Resource Injection')