Vulnerability · Published Sep 23, 2026 · Assigned by GitHub_M

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

High 8.8

In plain English

A high-severity security flaw in moquette from moquette-io. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 28% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.8High
Exploit odds (30 days)0.3%top 72.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenio.moquette:moquette-broker0.18.1GHSA-5f42-97gr-vfhq

Affected products (as reported)

VendorProductVersions
moquette-io moquette < 0.18.1

Weakness: CWE-99 · Vector: 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

References