Description
LiamBindle MQTT-C versions prior to 1.1.7 contain a heap-based out-of-bounds read and integer underflow in the mqtt_unpack_publish_response() function in src/mqtt.c. A remote unauthenticated attacker controlling an MQTT broker, or capable of injecting MQTT traffic into an unencrypted session, can crash a subscribed MQTT-C client and potentially disclose adjacent heap memory by sending a single crafted PUBLISH packet.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| LiamBindle | MQTT-C | < 1.1.7 | 1.1.7 |
References
- LiamBindle/MQTT-C upstream repository product
- Vulnerable mqtt_unpack_publish_response() in src/mqtt.c (v1.1.6) product
- Fix out-of-bounds read and integer underflow in PUBLISH parsing patch
- MQTT-C v1.1.7 release release-notes patch
- CWE-125: Out-of-bounds Read technical-description
- CWE-191: Integer Underflow (Wrap or Wraparound) technical-description