Vulnerability · Published Sep 23, 2026 · Assigned by GitHub_M

CVE-2026-85724Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass

Critical 9.6

In plain English

A critical-severity incorrect authorization in moquette from moquette-io. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 25% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.6Critical
Exploit odds (30 days)0.3%top 75.4% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenio.moquette:moquette-broker0.18.1GHSA-5f42-97gr-vfhq

Affected products (as reported)

VendorProductVersions
moquette-io moquette < 0.18.1

Weakness: CWE-863, CWE-155 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N

References