{"id":"CVE-2026-85724","published":"2026-09-23T17:17:17.623","lastModified":"2026-09-25T13:34:57.140","description":"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.","cvssScore":9.6,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","cwes":["CWE-155","CWE-863"],"vendors":["moquette"],"products":["moquette"],"references":[{"url":"https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af","tags":["Patch"]},{"url":"https://github.com/moquette-io/moquette/releases/tag/v0.18.1","tags":["Release Notes"]},{"url":"https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq","tags":["Exploit","Mitigation","Vendor Advisory"]},{"url":"https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq","tags":["Exploit","Mitigation","Vendor Advisory"]}],"exploitRefs":[{"url":"https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af","tags":["Patch"]},{"url":"https://github.com/moquette-io/moquette/releases/tag/v0.18.1","tags":["Release Notes"]},{"url":"https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq","tags":["Exploit","Mitigation","Vendor Advisory"]},{"url":"https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq","tags":["Exploit","Mitigation","Vendor Advisory"]}],"hasPoc":true,"ai":{"summary":"The flaw allows a client to substitute their identity into MQTT topic filters, potentially gaining unauthorized access to other tenants' data. This is due to direct substitution of client ID and username values into pattern-based ACL rules.","exploitability":"Exploitation is moderately hard as it requires a client to use + or # in their identity, but preconditions are minimal.","blast_radius":"If exploited, the attacker could gain cross-tenant read and write access, leading to significant data breaches.","remediation":"Upgrade to moquette 0.18.1 or later.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["auth-bypass","mqtt","broker","acl","topic-filter"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-09-27T08:54:05.099Z"}}