CVE-2026-30867 CocoaMQTT: Denial of Service via Reachable Assertion in `PUBLISH` Packet Parsing
A malicious MQTT broker can crash iOS/macOS apps by sending a malformed retained PUBLISH packet, causing a persistent denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-30867?
CVE-2026-30867 is a medium-severity denial of service vulnerability in emqx CocoaMQTT, published on 2 Apr 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
CocoaMQTT is a MQTT 5.0 client library for iOS and macOS written in Swift. Prior to version 2.2.2, a vulnerability exists in the packet parsing logic of CocoaMQTT that allows an attacker (or a compromised/malicious MQTT broker) to remotely crash the host iOS/macOS/tvOS application. If an attacker publishes the 4-byte malformed payload to a shared topic with the RETAIN flag set to true, the MQTT broker will persist the payload. Any time a vulnerable client connects and subscribes to that topic, the broker will automatically push the malformed packet. The app will instantly crash in the background before the user can even interact with it. This effectively "bricks" the mobile application (a persistent DoS) until the retained message is manually wiped from the broker database. This issue has been patched in version 2.2.2.
Weakness: CWE-617
Which versions are affected by CVE-2026-30867?
2 open source packages ship an affected version, including CocoaMQTT. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
CocoaMQTT SwiftURL | All versions | 2.2.2 |
CocoaMQTT SwiftURL | All versions | 2.2.2 |
Products include Emqx Cocoamqtt.
How do I fix CVE-2026-30867?
Upgrade CocoaMQTT to 2.2.2 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-30867 being exploited?
There is no known exploitation of CVE-2026-30867 in the wild and no public exploit code.
Sources
Also known as GHSA-r3fr-7m74-q7g2.