Description
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, PostOffice.publishWill publishes a client-controlled Last Will message through publish2Subscribers without invoking the authorizator.canWrite check used by normal PUBLISH paths. When anonymous access is enabled and topic ACLs restrict writes, a remote client can set an ACL-protected topic as the Last Will Topic during CONNECT and perform an abnormal client disconnect, causing the broker to inject attacker-controlled messages into a topic for which the client lacks write permission. This issue is fixed in version 0.18.1.
References5
- github.com/moquette-io/moquette/commit/e23df019f6a11e22c7d2047d…
- github.com/moquette-io/moquette/commit/f5a323fe782d1505c0097498…
- github.com/moquette-io/moquette/releases/tag/v0.18.1
- github.com/moquette-io/moquette/security/advisories/GHSA-9jjc-f…
- github.com/moquette-io/moquette/security/advisories/GHSA-9jjc-f…
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - EPSS — exploit probability
- 1% percentile: 48 · as of 8 November 2026
- CWE
- CWE-862
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.