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.
Affected products
emqx: cocoamqtt; apple: iphone os; apple: macos
References4
- github.com/emqx/CocoaMQTT/security/advisories/GHSA-r3fr-7m74-q7… ExploitVendor Advisory
- github.com/emqx/CocoaMQTT/commit/010bca6f61b97d726252f61641d331… Patch
- github.com/emqx/CocoaMQTT/pull/659 Issue TrackingPatch
- github.com/emqx/CocoaMQTT/releases/tag/2.2.2 Release Notes
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 0% percentile: 27 · as of 12 November 2026
- CWE
- CWE-617
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.