Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
AC:H because exploitation depends on a specific operator misconfiguration (auth class configured but failing to load); once present, any remote anonymous client gets full topic read/write, so C:H/I:H, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, when a configured authenticator or authorizator class cannot be loaded, Server.initializeAuthenticator and Server.initializeAuthorizatorPolicy treat the failure as though no custom class was configured and fall back to AcceptAllAuthenticator or PermitAllAuthorizatorPolicy. A misspelled class name, missing dependency, constructor failure, or classpath problem can therefore start the broker with authentication or authorization disabled even though the operator configured those controls. This issue is fixed in version 0.18.1.
Articles & Coverage 1
AnalysisAI
Moquette MQTT brokers prior to 0.18.1 can start up with authentication and authorization silently disabled whenever a configured authenticator_class or authorizator_class fails to load, so any remote client - including anonymous MQTT clients, since the broker is anonymous by default - can read and write every topic the broker handles while the operator believes access controls are active. The flaw is not directly attacker-triggered: it requires a deployment that both intends to enforce auth and has a broken class-load (misspelled class name, missing dependency, constructor failure, or classpath problem), which is why the independent assessment rates it CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N even though the end-state is a full confidentiality and integrity break; the vendor's CVSS 4.0 vector is 9.3. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
No credit card · 7-day full trial
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Not a directly attacker-triggered flaw: exploitation requires that the operator has configured a custom authenticator_class or authorizator_class in Moquette AND that class fails to load at startup (misspelled class name, missing dependency, constructor failure, or classpath problem). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The input CVSS 4.0 vector (9.3, AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N) scores this as a critical remote-unauthenticated confidentiality+integrity break, and that end-state is accurate: once the fail-open path triggers, any anonymous MQTT client reads and writes all topics. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade to Moquette 0.18.1 - vendor-released patch: 0.18.1 - which is the fix for this issue; it was introduced by PR #967 (commit 14a2f4fd280c8f6a791600c306cbccecb7c67007) and makes Server.initializeAuthenticator and Server.initializeAuthorizatorPolicy throw IllegalArgumentException and reject startup rather than silently installing AcceptAll/PermitAll, with regression test ServerAuthConfigFailClosedTest confirming both the abort behavior and that the intentional no-class default still starts. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory every Moquette-based broker in the estate, capture its exact version (anything prior to 0.18.1 is in scope), and confirm whether authentication and authorization are actually being enforced rather than assumed; review broker startup logs for authenticator_class or authorizator_class load failures, misspelled class names, or constructor exceptions, and where any doubt exists, disable the listener or isolate the broker behind network segmentation rather than leaving it exposed. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-636 – Not Failing Securely ('Failing Open')
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-85418