CVE-2026-85724 PUBLISHED

Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass

Assigner: GitHub_M
Reserved: 04.09.2026 Published: 23.09.2026 Updated: 24.09.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
CVSS Score: 9.6

Product Status

Vendor moquette-io
Product moquette
Versions
  • Version < 0.18.1 is affected

References

Problem Types

  • CWE-863: Incorrect Authorization CWE
  • CWE-155: Improper Neutralization of Wildcards or Matching Symbols CWE