CVE-2026-35217 in NanoMQ
Zusammenfassung
von VulDB • 21.07.2026
NanoMQ enthält einen Fehler in der Protokollsemantik bei der Verarbeitung von MQTT v5 `SUBSCRIBE`: Wenn ein Abonnement-Eintrag das abschließende 1-Byte-Feld `Subscription Options` fehlt, kann der Broker das fehlerhafte Paket dennoch akzeptieren und die Subscription im internen Broker-Zustand installieren. Unter einer bestimmten Konstruktion der Paketlänge verursacht derselbe Parserfehler auch einen Lesezugriff außerhalb des gültigen Bereichs (out-of-bounds read) um 1 Byte, der über die tatsächliche Heap-Allokationsgrenze hinausgeht und von ASAN als `heap-buffer-overflow` erkannt wird.
Wenn das verbrauchte Byte akzeptabel aussieht, kann NanoMQ fortfahren und den fehlerhaften Abonnement-Eintrag in seinen internen Zustand `subinfol` anhängen. In diesem Fall wird ein `SUBSCRIBE`-Paket, das nach MQTT-Regeln abgelehnt werden sollte, stattdessen als erfolgreiche Subscription behandelt. Ob ASAN den Bug meldet, hängt nicht von der logischen `remain`-Grenze von MQTT ab; es hängt davon ab, ob der Lesezugriff die tatsächliche Heap-Allokationsgrenze des zugrunde liegenden Nachrichtenpuffers überschreitet. Mit anderen Worten: Dies sind keine zwei unabhängigen Probleme. Sie sind zwei Erscheinungsformen desselben Parserdefekts: Standardmäßig tritt er als semantische Schwachstelle auf, und unter geeigneten Eingabebedingungen wird er auch zu einer überprüfbaren Out-of-Bounds-Lese-Schwachstelle.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.