CVE-2026-35217
Təsvir
NanoMQ-nun MQTT v5 `SUBSCRIBE` emalı prosesində protokol semantikası xətası mövcuddur: əgər abunəlik qeydində sonuncu 1 baytlıq `Subscription Options` sahəsi çatışmırsa, broker yenə də yanlış formalaşdırılmış paketi qəbul edə və abunəliyi daxili broker vəziyyətinə yerləşdirə bilər. Paket uzunluğunun xüsusi quruluşu zamanı eyni parser xətası həmçinin real yığın (heap) ayırma sərhədini aşan 1 baytlıq sərhədlərdən kənar oxumaya (out-of-bounds read) səbəb olur və bu, ASAN tərəfindən `heap-buffer-overflow` kimi aşkarlanır. Əgər oxunan bayt məqbul görünürsə, NanoMQ prosesi davam etdirə və yanlış formalaşdırılmış abunəlik qeydini öz daxili `subinfol` vəziyyətinə əlavə edə bilər. Bu halda, MQTT qaydalarına görə rədd edilməli olan `SUBSCRIBE` paketi uğurlu abunəlik kimi qəbul edilir. ASAN-ın xətanı hesabatlandırması MQTT-nin məntiqi `remain` sərhədindən asılı deyil; bu, oxumanın alt mesaj buferinin real yığın ayırma sərhədini aşıb-aşmadığından asılıdır. Başqa sözlə, bunlar bir-birindən asılı olmayan iki problem deyil. Onlar eyni analiz defektinin iki təzahürüdür: standart olaraq bu, semantik zəiflik kimi görünür və müvafiq giriş şərtləri altında həmçinin təsdiqlənə bilən sərhədlərdən kənar oxuma zəifliyinə çevrilir.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| nanomq nanomq | <= 0.24.14 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.