Aedes has Uncaught Exception and Uncontrolled Resource Consumption
Affects Aedes MQTT broker stable versions up to and including 1.1.0, due to behavior in an underlying dependency. Fixed in 1.1.1.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Default setups
- Fix
- Fixed in 1.1.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Aedes, an MQTT broker used on Node.js servers, can be crashed by a client that sends a publish, subscribe, or will message with an excessively deep topic, which takes down the whole broker process and disconnects all users until it is restarted. The attack requires only the ability to open an MQTT session, depending on how the broker is configured.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original 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.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- moscajs aedes
fixed in 1.1.1
References 3
GitHub · moscajs/aedes
Questions about CVE-2026-63341
What does this mean?
A remote client can crash the entire Aedes MQTT broker process. The crash disconnects all clients and blocks reconnection until the broker is restarted.Source: github.com, github.com
Am I affected, and how do I check?
All stable Aedes versions up to and including 1.1.0 are affected, because of behavior in an underlying dependency. To check a installed version, run npm ls aedes in the project or look up the aedes version in its package.json.Source: github.com, github.com
What should I do about it?
Upgrade Aedes to 1.1.1, the release that fixes this issue.Source: github.com, github.com
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data