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.
Affected products
moquette: moquette
References5
- github.com/moquette-io/moquette/security/advisories/GHSA-5f42-9… ExploitMitigationVendor Advisory
- github.com/moquette-io/moquette/security/advisories/GHSA-5f42-9… ExploitMitigationVendor Advisory
- github.com/moquette-io/moquette/commit/72d6c8257191d2e4b2e3aa11… Patch
- github.com/moquette-io/moquette/pull/964 Patch
- github.com/moquette-io/moquette/releases/tag/v0.18.1 Release Notes
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 4.0
-
8.8
HIGH
Score source: CNA
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - EPSS — exploit probability
- 0% percentile: 28 · as of 9 November 2026
- CWE
- CWE-99
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.