CVE-2026-15891
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Funkcja obsługi klienta MQTT-SN Process_ping() w subsys/net/lib/mqtt_sn/mqtt_sn.c usuwa rekord bramy po wyczerpaniu się ponownych prób PINGREQ. Wywołał SYS_SLIST_PEEK_HEAD_CONTAINER(&client->gateways, gw, next), ale odrzucił wynik. To makro jest czystym wyrażeniem, które nie jest przypisane do gw, więc gw zachowało swój inicjator NULL niezależnie od zawartości listy.
Następnie kod dereferuje NULL gw (gw->gw_id) i przekazuje go do mqtt_sn_gw_destroy(), osiągając k_mem_slab_free(&gateways, NULL). Przy włączonej opcji CONFIG_MEM_SLAB_POINTER_VALIDATE wyzwala to funkcję k_panic(); w konfiguracji domyślnej wykonuje zapis poprzez wskaźnik NULL ((char)mem = płyta->free_list;) i uszkadza listę wolnych płyt. Rezultatem jest awaria/panika jądra lub, w systemach docelowych, w których adres 0 jest zapisywalny, ciche uszkodzenie alokatora pamięci.
Podatna gałąź działa za każdym razem, gdy podłączona brama MQTT-SN nie odpowiada na komunikaty Keepalive PINGREQ przez skonfigurowaną liczbę ponownych prób. Stan ten jest kontrolowany przez zdalnego partnera: złośliwą lub przejętą bramę albo atakującego znajdującego się na ścieżce/sąsiadującego, który reklamuje się jako brama, a następnie przestaje odpowiadać (lub blokuje adresy PINGRESP prawdziwej bramy). MQTT-SN działa poprzez UDP i nie jest wymagane żadne uwierzytelnianie.
Skutkiem jest zdalnie wyzwalana odmowa usługi (dostępność) klienta MQTT-SN, którego dotyczy problem; nie zapisano żadnych danych kontrolowanych przez osobę atakującą. Proces_advertise() do usuwania rodzeństwa używa SYS_SLIST_FOR_EACH_CONTAINER_SAFE i nie ma to na niego wpływu. Poprawka przypisuje wartość zwracaną przez makro do gw.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org