CVE-2026-85724

Source
https://cve.org/CVERecord?id=CVE-2026-85724
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-85724.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-85724
Aliases
Published
2026-09-23T16:29:36Z
Modified
2026-09-27T08:01:30Z
Severity
  • 9.6 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N CVSS Calculator
Summary
Moquette pattern ACL wildcard injection allows cross-tenant authorization bypass
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.

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"
}
References

Affected packages

Git / github.com/moquette-io/moquette

Affected ranges

Type
GIT
Repo
https://github.com/moquette-io/moquette
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "cpe": "cpe:2.3:a:moquette:moquette:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.18.1"
        }
    ],
    "source": [
        "CPE_RANGE",
        "REFERENCES"
    ]
}

Affected versions

0.*
0.18.0
0.7
Other
before_sofia2
last_gradle
last_osgi
last_with_maven
last_with_ringbuffer
second_try_with_osgi_giveup
v0.*
v0.10
v0.11
v0.12
v0.12.1
v0.18.0
v0.8
v0.9

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-85724.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "function_hash": "269180878684028958057482685079324653907",
            "length": 665
        },
        "id": "CVE-2026-85724-2617fa0f",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af",
        "target": {
            "file": "broker/src/main/java/io/moquette/broker/security/AuthorizationsCollector.java",
            "function": "canDoOperation"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "146723529666818269005525026885854492949",
                "78740541475288257772251903445712881844",
                "58497300178204072490764963317319399709",
                "80926390165758371002872336894721456795",
                "250073199230157587689868727767617437011",
                "121110560608509694834736544497174883831",
                "147789047307011195578423652881166664603",
                "76146791607541996755890788610387322561",
                "151995414082502180367401151876526258620",
                "314969683416092103583416804682353801633",
                "80383474661021697751492471343546808612",
                "17623425134024995364258901604421458770",
                "193262608935336785088001289137364822697",
                "223806271234802523021061016499458327744",
                "211471839537277107047721905629066937899",
                "50315392668686842175158022192326523453",
                "106587876177938024023046406589839938123"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-85724-68afd567",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af",
        "target": {
            "file": "broker/src/main/java/io/moquette/broker/security/AuthorizationsCollector.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "264460424198365981025294149882277014898",
                "11410191927348774178838709852851310256",
                "273802157253247414129958982189405529275",
                "315296026132642631038163665576809441438"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-85724-dd85d397",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/moquette-io/moquette/commit/e8ce83336acce69d8e9c11c98805217aa156a16b",
        "target": {
            "file": "broker/src/main/java/io/moquette/broker/Server.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "328374551104237904931968267836206710181",
                "210219106386364814821012441869475736087"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-85724-dfbb4853",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/moquette-io/moquette/commit/b4a98bb3f3425ece476ed073aa080c627c1239af",
        "target": {
            "file": "broker/src/test/java/io/moquette/broker/security/AuthorizationsCollectorTest.java"
        }
    }
]
vanir_signatures_modified
"2026-09-27T08:01:30Z"