CVE-2026-95847
Moquette client IDs can cause cross-session H2 durable-queue corruption
- State
- Published
- Severity
- 8.8 High
- Published
- Sep 23, 2026
- Updated
- Sep 23, 2026
- Reserved
- Sep 22, 2026
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 4.0 | 8.8 High | 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 | GitHub_M |
Weaknesses
- CWE-99 Improper Control of Resource Identifiers ('Resource Injection')
Affected Products
| Product | Versions |
|---|---|
moquettemoquette-io |
|
References
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.