CVE-2026-95843
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, PostOffice.subscribe parses a shared-subscription filter through SharedSubscriptionUtils.extractShareName before validating the complete $share/{shareName}/{topicFilter} structure. A remote client can send a filter such as $share/grp without a topic-filter portion, causing a StringIndexOutOfBoundsException while calculating the share name. The exception terminates command handling on the shared session event loop and can deny service to other client sessions assigned to that loop. This issue is fixed in version 0.18.1.
Weakness
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, PostOffice.subscribe parses a shared-subscription filter through SharedSubscriptionUtils.extractShareName before validating the complete $share/{shareName}/{topicFilter} structure. A remote client can send a filter such as $share/grp without a topic-filter portion, causing a StringIndexOutOfBoundsException while calculating the share name. The exception terminates command handling on the shared session event loop and can deny service to other client sessions assigned to that loop. This issue is fixed in version 0.18.1.
References
- https://github.com/moquette-io/moquette/commit/affdc71fdba92dc020421678970ae70518fb6da2
- https://github.com/moquette-io/moquette/pull/962
- https://github.com/moquette-io/moquette/releases/tag/v0.18.1
- https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq
- https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq
Find the bug before an attacker does.
Sign in with GitHub and run your first audit in under a minute. The free plan needs no credit card.