Vulnerability details

CVE-2026-95847

moquette-io moquette

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

CVSS 4.0
8.8High

Official 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.

CVSS scores

ScoreVersionSourceVector
8.8High 4.0 CVEProject cvelistV5 (CNA) (GitHub_M) 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

VendorProductVersionsSource
moquette-io moquette < 0.18.1 CVEProject cvelistV5 (CNA)

References and advisories

4
Kolun on Telegram @kolunsec Exploited CVEs, key news and a daily digest Alerts for this product's next CVEsFollow the product to get new vulnerabilities on Telegram.

Details

Published
2026-09-23
Last updated
2026-09-23
State
Published
Assigner (CNA)
GitHub_M

Exploit prediction (EPSS)

0.34%
Probability of exploitation in 30 days
27.7%
Percentile (among all CVEs)

SSVC assessment (CISA)

Automatable
Yes
Exploitation
Proof of concept
Technical impact
Partial

Weaknesses (CWE)

  • CWE-99
    Improper Control of Resource Identifiers ('Resource Injection')