CVE-2026-95847: high-severity vulnerability in moquette-io moquette
Moquette client IDs can cause cross-session H2 durable-queue corruption
Published
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 8.8epss 0.3%
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.
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
Affected products
moquette-io · moquetteRelated CVEs — moquette-io moquette
In the same product, most dangerous first.
CVE-2026-85058HIGHMoquette: Missing Authorization in io.moquette:moquette-brokerEPSS 0.6%CVE-2026-95842HIGHMoquette uncaught MQTT command exceptions can terminate shared session event loopsEPSS 0.4%CVE-2026-95843HIGHMoquette malformed shared subscriptions can crash command processingEPSS 0.4%CVE-2026-95848CRITICALMoquette fails open when configured authentication or authorization classes cannot loadEPSS 0.4%CVE-2026-95844HIGHMoquette deeply nested MQTT topics can cause stack exhaustionEPSS 0.4%CVE-2026-95845HIGHMoquette unbounded per-session message queues allow memory exhaustionEPSS 0.4%