LiamBindle MQTT-C up to 1.1.6 PUBLISH src/mqtt.c mqtt_unpack_publish_response out-of-bounds
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.7 | $0-$5k | 3.44- |
Summary
A vulnerability was found in LiamBindle MQTT-C up to 1.1.6. It has been rated as problematic. This affects the function mqtt_unpack_publish_response of the file src/mqtt.c of the component PUBLISH Handler. This manipulation causes out-of-bounds.
This vulnerability is tracked as CVE-2026-54412. The attack is possible to be carried out remotely. No exploit exists.
Details
A vulnerability has been found in LiamBindle MQTT-C up to 1.1.6 and classified as critical. Affected by this vulnerability is the function mqtt_unpack_publish_response of the file src/mqtt.c of the component PUBLISH Handler. The manipulation with an unknown input leads to a out-of-bounds vulnerability. The CWE definition for the vulnerability is CWE-125. The product reads data past the end, or before the beginning, of the intended buffer. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
LiamBindle MQTT-C through version 1.1.6 contains a heap-based out-of-bounds read and integer underflow in the mqtt_unpack_publish_response() function in src/mqtt.c that allows a remote unauthenticated attacker controlling an MQTT broker - or able to inject MQTT traffic into an unencrypted session - to crash a subscribed MQTT-C client and potentially disclose adjacent heap memory by sending a single crafted PUBLISH packet. The function validates only that the fixed-header remaining_length is at least 4, then reads the 16-bit topic_name_size field from the broker-controlled packet and advances the parse pointer by that value without verifying that topic_name_size plus the surrounding overhead fits within remaining_length; it subsequently computes application_message_size as remaining_length - topic_name_size - 2 (QoS 0) or - 4 (QoS greater than 0) in unsigned arithmetic, producing an integer underflow that is then passed to memmove(). A PUBLISH packet with topic_name_size = 0xFFFF and remaining_length = 7 advances the parse pointer 65535 bytes past the receive buffer (out-of-bounds read) and causes an application_message_size near 2^32, crashing the process when the resulting memmove() is executed.
The weakness was disclosed by Saidakbarxon Maxsudxonov. It is possible to read the advisory at github.com. This vulnerability is known as CVE-2026-54412 since 06/13/2026. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details of the vulnerability are known, but there is no available exploit. The pricing for an exploit might be around USD $0-$5k at the moment (estimation calculated on 06/14/2026).
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2026-36663). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Vendor
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 7.7VulDB Meta Temp Score: 7.7
VulDB Base Score: 7.3
VulDB Temp Score: 7.3
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 8.2
CNA Vector (TuranSec): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Out-of-boundsCWE: CWE-125 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔒
Timeline
06/13/2026 CVE reserved06/14/2026 Advisory disclosed
06/14/2026 VulDB entry created
06/14/2026 VulDB entry last update
Sources
Advisory: github.comResearcher: Saidakbarxon Maxsudxonov
Status: Confirmed
CVE: CVE-2026-54412 (🔒)
GCVE (CVE): GCVE-0-2026-54412
GCVE (VulDB): GCVE-100-370867
EUVD: 🔒
Entry
Created: 06/14/2026 21:18Updated: 06/14/2026 21:31
Changes: 06/14/2026 21:18 (79), 06/14/2026 21:31 (1)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.