Podatności NanoMQ
16 znanych podatności CVE w NanoMQ, przetłumaczonych i ocenionych.
- CVE-2025-59947Krytyczne
NanoMQ przed wersją 0.24.4 ma podatność na przepełnienie bufora, gdy pakiety PUBLISH wyzwalają zarówno subskrypcję współdzieloną, jak i zwykłą. Wersja 0.24.4 zawiera poprawkę.
- CVE-2026-47276Średnie
W NanoMQ w wersjach 0.24.11 i wcześniejszych, dereferencja wskaźnika NULL w funkcji `properties_parse()` umożliwia uwierzytelnionemu atakującemu spowodowanie awarii brokera NanoMQ poprzez wysłanie żądania POST do `/api/v4/mqtt/publish` z `user_properties` jako tablicą JSON zamiast obiektu JSON. Awaria występuje, ponieważ `strlen()` jest wywoływane na wskaźniku `item->string` o wartości NULL podczas iteracji po elementach tablicy.
- CVE-2026-47275Niskie
W nanomq w wersjach 0.24.11 i wcześniejszych wykryto błąd dereferencji wskaźnika NULL w funkcji nni_mqttv5_msg_decode_connect. Złośliwy broker MQTT może wysłać pojedynczy pakiet, który powoduje awarię łączącego się klienta NanoMQ MQTTv5 (w tym w trybie bridge) poprzez SIGSEGV. Problem wynika z użycia zmiennej 'prop' zamiast 'will_prop' podczas iteracji po właściwościach CONNECT. Jeśli pakiet CONNECT nie ma właściwości na poziomie połączenia (prop == NULL), ale ma właściwości will (will_prop != NULL), dereferencja prop->next powoduje SIGSEGV.
- CVE-2026-35217Średnie
NanoMQ zawiera wadę semantyki protokołu w obsłudze MQTT v5 SUBSCRIBE. Jeśli wpis subskrypcji brakuje końcowego 1-bajtowego pola Subscription Options, broker może zaakceptować uszkodzony pakiet i zainstalować subskrypcję w wewnętrznym stanie brokera. W określonych warunkach ta sama wada parsera powoduje również odczyt 1 bajtu poza granicami sterty, wykrywany przez ASAN jako przepełnienie bufora sterty.
- CVE-2026-36590Wysokie
W bibliotece NanoMQ w wersji 0.24.9 wykryto podatność umożliwiającą atakującemu zdalne wywołanie odmowy usługi (DoS) poprzez funkcję nni_qos_db_set w komponencie broker_tcp.c.
- CVE-2026-45151Niskie
W NanoMQ MQTT Broker w wersji 0.24.8 i wcześniejszych, funkcja quic_stream_recv może wyłuskać pusty wskaźnik substream, gdy substream jest w stanie reopen. Kod kończy AIO z błędem, ale nie zwraca przed zamknięciem c->mtx, co może prowadzić do awarii lub innych problemów.
- CVE-2026-44640Średnie
NanoMQ MQTT Broker przed wersją 0.24.14 zawiera podatność polegającą na pomyleniu typów (type confusion) podczas zamykania połączenia dialer. Prowadzi to do nieprawidłowej interpretacji obiektu i może skutkować zawieszeniem lub awarią.
- CVE-2026-32134Średnie
Podatność w NanoMQ MQTT Broker w wersjach 0.24.10 i niższych, polegająca na dereferencji wskaźnika NULL podczas obsługi ruchu o wysokiej współbieżności przy ponownym łączeniu. Prowadzi do awarii brokera (DoS) bez uwierzytelniania. Problem został naprawiony w wersji 0.24.11.
- CVE-2026-34608Średnie
NanoMQ przed wersją 0.24.10 zawiera podatność na odczyt poza zakresem w funkcji hook_work_cb() w pliku webhook_inproc.c. Funkcja cJSON_Parse odczytuje dane z bufora bez gwarantowanego terminatora null, co może prowadzić do odczytu pamięci poza przydzielonym buforem.
- CVE-2023-34494Wysokie
NanoMQ w wersji 0.16.5 jest podatny na wykorzystanie pamięci po zwolnieniu w funkcji nano_ctx_send w pliku nmq_mqtt.c.
- CVE-2023-34488Wysokie
W wersji 0.17.5 NanoMQ występuje błąd przepełnienia bufora w pamięci sterty w funkcji conn_handler w pliku mqtt_parser.c, który występuje podczas przetwarzania źle sformatowanych wiadomości.
- CVE-2023-33657Wysokie
W NanoMQ w wersji 0.17.2 występuje podatność typu use-after-free. Może być ona wywołana przez wywołanie funkcji nni_mqtt_msg_get_publish_property() w pliku mqtt_msg.c, co prowadzi do nieprawidłowego śledzenia danych.
- CVE-2023-33660Wysokie
W NanoMQ w wersji 0.17.2 występuje podatność na przepełnienie bufora w stercie. Można ją wywołać, wywołując funkcję copyn_str() w pliku mqtt_parser.c.
- CVE-2023-33658Wysokie
W NanoMQ w wersji 0.17.2 występuje podatność na przepełnienie bufora w stercie. Można ją wywołać, wywołując funkcję nni_msg_get_pub_pid() w pliku message.c.
- CVE-2023-33659Wysokie
W NanoMQ w wersji 0.17.2 występuje podatność na przepełnienie bufora w stercie. Można ją wywołać, wywołując funkcję nmq_subinfo_decode() w pliku mqtt_parser.c.
- CVE-2023-33656Średnie
W NanoMQ w wersji 0.17.2 występuje podatność na wyciek pamięci. Problem znajduje się w pliku message.c i może być wykorzystany przez atakującego do przeprowadzenia ataku typu denial of service, powodując zużycie wszystkich dostępnych zasobów pamięci.

