CVE-2026-30867 json
CocoaMQTT: Denial of Service via Reachable Assertion in `PUBLISH` Packet Parsing
published 2026-04-02 7 mo ago modified 2026-10-26 13 d ago also EUVD-2026-18235 , GHSA-r3fr-7m74-q7g2
- cvss
- 5.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 26%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- swift CocoaMQTT 2.2.2
- emqx cocoamqtt 2.2.2
- github.com/emqx/CocoaMQTT@010bca6 commit
- github.com/emqx/CocoaMQTT#659 pull request
- github.com/emqx/CocoaMQTT/releases/tag/2.2.2 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 26% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/emqx/CocoaMQTT/security/advisories/GHSA-r3fr-7m74-q7g2 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| swift | CocoaMQTT | <2.2.2 |
2.2.2 |
Affected products
- emqx CocoaMQTT
Classification
- Weakness
-
- CWE-617 Reachable Assertion
References
-
github.com
/emqx/CocoaMQTT/pull/659
web, issue-tracking, patch
-
github.com
/emqx/CocoaMQTT/commit/010bca6f61b97d726252f61641d331a2bf82b338
web, patch
-
github.com
/emqx/CocoaMQTT/security/advisories/GHSA-r3fr-7m74-q7g2
web, exploit, vendor-advisory
-
github.com
/emqx/CocoaMQTT/releases/tag/2.2.2
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-30867
advisory
-
github.com
/emqx/CocoaMQTT
package
Sources
- CVE List CVE-2026-30867
- GitHub Advisory GHSA-r3fr-7m74-q7g2
- NVD CVE-2026-30867
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.