{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:moquette:moquette:*:*:*:*:*:*:*:*",
            "extracted_events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "0.18.1"
              }
            ],
            "source": [
              "CPE_RANGE",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "e8ce83336acce69d8e9c11c98805217aa156a16b"
            },
            {
              "fixed": "b4a98bb3f3425ece476ed073aa080c627c1239af"
            }
          ],
          "repo": "https://github.com/moquette-io/moquette",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-5f42-97gr-vfhq"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-155",
      "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85724.json"
  },
  "details": "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.",
  "id": "CVE-2026-85724",
  "modified": "2026-09-27T03:30:45.104548480Z",
  "published": "2026-09-23T16:29:36.296Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/moquette-io/moquette/releases/tag/v0.18.1"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/85xxx/CVE-2026-85724.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/moquette-io/moquette/security/advisories/GHSA-5f42-97gr-vfhq"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85724"
    },
    {
      "type": "FIX",
      "url": "https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass"
}