Description
Aedes is an MQTT broker that can run on any stream server. Prior to 1.1.1, the MQTT broker does not bound topic depth or structural complexity before passing topics through `mqemitter` into `qlobber`. A `PUBLISH`, `SUBSCRIBE`, or registered `Will` message containing an excessively deep topic can reach `qlobber._split_words` in `lib/qlobber.js` and trigger an uncaught `too many words` exception. Calls from `handlers/subscribe.js` and the publishing logic are not protected against that exception, so it escapes to the `Node.js event loop` and terminates the entire broker. The `Will` path is independently reachable when a client disconnects ungracefully: it calls `broker.publish` directly and bypasses the `PUBLISH` handler. An attacker must be able to establish an `MQTT session`, authenticated or unauthenticated according to broker configuration. A successful attack disconnects all legitimate clients and prevents reconnection until the broker process restarts. This issue is fixed in version 1.1.1.
Published: 2026-10-30
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: Denial of Service via broker crash
Action: Immediate Patch
AI Analysis

Impact

Aedes MQTT broker can crash when it receives a topic that is deeply nested. The broker fails to bound topic depth or structural complexity before sending topics to the qlobber module, which triggers an uncaught "too many words" exception in qlobber._split_words. This exception, an unchecked exception (CWE-248), escapes to the Node.js event loop and terminates the broker, causing all clients to lose connectivity. The same flaw also applies when a client disconnects ungracefully and the server publishes the Will message directly, bypassing the standard PUBLISH handler. The result is a denial of service that persists until the broker process restarts, reflecting uncontrolled resource consumption (CWE-400).

Affected Systems

The vulnerability affects the Aedes MQTT broker from the moscajs project. All installations of Aedes prior to version 1.1.1 are impacted regardless of the broker configuration. Users running any MQTT broker instance that depends on Aedes need to check their current version.

Risk and Exploitability

The CVSS score is 7.5, reflecting substantial impact. The EPSS score is not available, so the likelihood is uncertain. It is not listed in the CISA KEV catalog. An attacker must be able to establish a session with the broker, either authenticated or unauthenticated based on the broker configuration. Once connected, the attacker sends a PUBLISH, SUBSCRIBE, or Will message containing an overly deep topic string. The unfettered recursion in qlobber causes an uncaught exception that propagates to the process level, immediately terminating the broker. The attack is straightforward and does not require additional setup beyond the ability to send a message to the broker.

Generated by OpenCVE AI on October 30, 2026 at 23:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Aedes broker to version 1.1.1 or later.
  • Implement topic depth validation or throttling in the broker configuration or application code to reject topics with excessive depth before they reach the transport layer.
  • Configure monitoring and automatic restart of the broker process to reduce downtime if a crash occurs.

Generated by OpenCVE AI on October 30, 2026 at 23:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
Description Aedes is an MQTT broker that can run on any stream server. Prior to 1.1.1, the MQTT broker does not bound topic depth or structural complexity before passing topics through `mqemitter` into `qlobber`. A `PUBLISH`, `SUBSCRIBE`, or registered `Will` message containing an excessively deep topic can reach `qlobber._split_words` in `lib/qlobber.js` and trigger an uncaught `too many words` exception. Calls from `handlers/subscribe.js` and the publishing logic are not protected against that exception, so it escapes to the `Node.js event loop` and terminates the entire broker. The `Will` path is independently reachable when a client disconnects ungracefully: it calls `broker.publish` directly and bypasses the `PUBLISH` handler. An attacker must be able to establish an `MQTT session`, authenticated or unauthenticated according to broker configuration. A successful attack disconnects all legitimate clients and prevents reconnection until the broker process restarts. This issue is fixed in version 1.1.1.
Title Aedes has Uncaught Exception and Uncontrolled Resource Consumption
Weaknesses CWE-248
CWE-400
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T22:09:50.280Z

Reserved: 2026-07-16T14:14:24.385Z

Link: CVE-2026-63341

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T23:17:13.690

Modified: 2026-10-30T23:17:13.690

Link: CVE-2026-63341

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-31T00:00:27Z

Weaknesses
  • CWE-248

    Uncaught Exception

  • CWE-400

    Uncontrolled Resource Consumption