Skip to main content
← All vulnerabilities
CVE-2026-95847GHSA-5F42-97GR-VFHQ

Moquette client IDs can cause cross-session H2 durable-queue corruption

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.18.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • moquette-io moquette

    fixed in 0.18.1

  • io.moquette:moquette-brokerMaven

    fixed in 0.18.1

References 4

GitHub · moquette-io/moquette