CVE-2026-47275 in NanoMQ
Zusammenfassung
von VulDB • 20.07.2026
In nanomq Versionen bis einschließlich 0.24.11 ermöglicht eine NULL-Zeiger-Dereferenzierung in `nni_mqttv5_msg_decode_connect()` einem böswilligen MQTT-Broker, jeden verbindenden NanoMQ-MQTTv5-Client (einschließlich Bridge-Modus) durch ein einzelnes Paket zum Absturz zu bringen und so einen Remote Denial of Service (DoS) via SIGSEGV auszulösen. In `nni_mqttv5_msg_decode_connect()` (`mqtt_codec.c:1863`) iteriert der Code über CONNECT-Eigenschaften unter Verwendung der Variablen `prop`, obwohl er eigentlich `will_prop` verwenden sollte. Wenn ein CONNECT-Paket keine Connect-Level-Eigenschaften hat (`prop == NULL`), aber Will-Eigenschaften besitzt (`will_prop != NULL`), führt das Dereferenzieren von `prop->next` zu einem SIGSEGV an Adresse `0x38` (NULL + `offsetof(property, next)`).
Dies betrifft sowohl `nanomq_cli` als auch den **NanoMQ-Bridge-Modus** (Kernkomponente), da beide denselben Empfangspfad in `mqtt_client.c` verwenden. Dies kann zu einem Remote-DoS führen, wenn ein böswilliger MQTT-Broker den Client-Prozess mit einem einzelnen 35-Byte-Paket abstürzen lassen kann, und zu einem persistenten DoS, wenn die automatische Wiederherstellung (Auto-Reconnect) eine endlose Absturzschleife verursacht.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.