Moquette client IDs can cause cross-session H2 durable-queue corruption
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| moquette-io | moquette | before 0.18.1 | 0.18.1 | Patch available | CNA |
- moquette Vendormoquette-io Affected before 0.18.1 Fixed in 0.18.1 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:moquette:moquette:*:*:*:*:*:*:*:* | before 0.18.1 | Vulnerable | moquette-io |
- cpe:2.3:a:moquette:moquette:*:*:*:*:*:*:*:* Versions before 0.18.1 Vulnerable ·moquette-io
Remediation
- Fix · CNA moquette (moquette-io) Fixed in 0.18.1
Timeline
- 2026-10-02 Threatist record created from CVE-2026-95847
References
More moquette-io Moquette vulnerabilities
- TI-2026-63713 Moquette fails open when configured authentication or authorization classes cannot load CVSS 4.0CRITICAL 9.3
- TI-2026-63711 Moquette publishes Last-Will messages without enforcing write authorization CVSS 4.0HIGH 8.7
- TI-2026-63709 Moquette deeply nested MQTT topics can cause stack exhaustion CVSS 4.0HIGH 8.7
- TI-2026-63708 Moquette malformed shared subscriptions can crash command processing CVSS 4.0HIGH 8.7
- TI-2026-63707 Moquette uncaught MQTT command exceptions can terminate shared session event loops CVSS 4.0HIGH 8.7
- TI-2026-58826 Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass CVSS 3.1CRITICAL 9.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences