CVE-2026-85724
Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass
CRITICAL 9.6EPSS 0.3%
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, when pattern-based ACL rules are configured, AuthorizationsCollector.canDoOperation substitutes client ID and username values directly into rules containing %c or %u and then treats the result as an MQTT topic filter. A client that uses + or # in either identity can broaden the substituted filter and gain cross-tenant read and write access. A # identity can also produce an invalid filter that triggers a NullPointerException in Topic.match and disrupts session processing. This issue is fixed in version 0.18.1.
- Affected
- moquette-io · moquette
- CVSS v3.1 GITHUB
- 9.6 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N - EPSS
- 0.27% chance of exploitation in the next 30 days, 18th percentile
- Published
- 2026-09-23
- Updated
- 2026-09-24
Proof-of-concept exploits (1)
- kinryulabs/research-pocs0★ · 2026-10-01
Security advisories
- moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq
- advisories/GHSA-5f42-97gr-vfhq
- moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af