Skip to main content

tinyMQTT CVE-2025-56352

| EUVDEUVD-2025-209887 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-05-18 mitre GHSA-m5jh-ppcv-76xr
7.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
7.5 HIGH

Unauthenticated network-reachable CONNECT flood with low complexity and no user interaction; impact is availability-only (socket/memory exhaustion), so C:N/I:N/A:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Analysis Generated
Jul 23, 2026 - 18:06 vuln.today
CVE Published
May 18, 2026 - 00:00 cve.org
HIGH 7.5
CVE Published
May 18, 2026 - 00:00 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

In tinyMQTT commit 6226ade15bd4f97be2d196352e64dd10937c1962 (2024-02-18), the broker mishandles protocol violations during CONNECT packet parsing. When receiving a CONNECT packet with a zero-length Client ID while CleanSession is set to 0, the broker correctly replies with a CONNACK return code 0x02 (Identifier Rejected) but fails to explicitly close the TCP connection. Since the surrounding connection teardown logic is not guaranteed to execute, each such invalid CONNECT attempt leaves the underlying socket open. Repeated attempts cause server-side resource exhaustion due to accumulating file descriptors and memory usage, potentially resulting in denial of service.

AnalysisAI

Denial of service in the tinyMQTT broker (commit 6226ade, 2024-02-18) lets remote unauthenticated clients exhaust server resources by repeatedly sending malformed CONNECT packets. When a CONNECT arrives with a zero-length Client ID and CleanSession=0, the broker sends the correct CONNACK 0x02 (Identifier Rejected) but never closes the TCP socket, leaking a file descriptor and memory on every attempt until the process is starved. Publicly available exploit code exists (a resource-exhaustion PoC is attached to the NVD reference), but there is no public exploit identified as used in attacks, EPSS is very low (0.05%), and it is not in CISA KEV.

Technical ContextAI

tinyMQTT is a small C-based MQTT broker implementing the MQTT protocol's connection handshake. The MQTT 3.1.1 specification states that a broker may accept a zero-length Client ID only when CleanSession=1 (assigning a unique ID itself); a zero-length ID with CleanSession=0 is a protocol violation that must be rejected with CONNACK return code 0x02. tinyMQTT rejects it correctly at the protocol level but its connection teardown path does not guarantee the underlying socket is closed after that rejection, so the descriptor and its associated buffers persist. This is a classic CWE-400 (Uncontrolled Resource Consumption) defect rooted in a resource-cleanup/lifecycle bug rather than a memory-corruption flaw. The CPE data is uninformative (cpe:2.3:a:n/a:n/a:*), so affected scope is defined by the referenced GitHub commit rather than a structured product identifier.

RemediationAI

No vendor-released patch or tagged version is identified at time of analysis, as tinyMQTT is an unversioned source-only project; track the upstream issue at https://github.com/JustDoIt0910/tinyMQTT/issues/19 for a fix. The concrete code fix is to explicitly close() the client socket and free its connection state immediately after sending CONNACK 0x02 in the CONNECT-handling path, rather than relying on later teardown logic. Until an upstream fix is confirmed, compensating controls include placing the broker behind a reverse proxy or firewall that restricts the MQTT listener (default TCP 1883) to trusted clients only - trade-off: breaks open/public broker use cases; enforcing per-source connection rate limits and OS-level file-descriptor limits (ulimit) so a flood degrades gracefully rather than crashing - trade-off: legitimate high-connection clients may be throttled; and monitoring the broker's open file-descriptor count to alert on leakage. Given the project's hobby status, migrating production workloads to a maintained broker such as Mosquitto or EMQX is the most durable option. Additional third-party analysis is at https://vuldb.com/vuln/364480.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

Share

CVE-2025-56352 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy