CVE-2026-102720
Təsvir
DHCP serveri və ya LAN-da DISCOVER sorğusuna ilk cavab verən hər hansı bir şəxs, klientin qəbul edilmiş mesajın sonundan bir kilobayt sonraya qədər oxumasını təmin edə bilər. Option walk prosesi göstəricini (pointer) və ofsetni sinxron şəkildə saxlayır və yeganə sərhəd yoxlaması ofsetdən istifadə edir: ```c /* addons/dhcp/nxd_dhcp_client.c:7538, 7572 */ while (i < length - 1) { ... size = *(++data); /* data 1 vahid hərəkət edir: type -> length baytı */ data += size + 1; /* data daha size + 1 vahid hərəkət edir */ i += size + 1; /* i yalnız size + 1 vahid hərəkət edir */ } ``` TLV opsiyonu size + 2 bayt tutur. `data` cəmi size + 2 vahid irəli çəkilir, `i` isə size + 1 vahid, buna görə də hər ötürülmüş opsiyon üçün ofset real oxuma mövqeyindən bir bayt geridə qalır. Kifayət qədər opsiyon ötürüldükdən sonra `i < length - 1` yoxlaması hələ də düzgün olsa da, `data` artıq mesajın sonunu keçmiş olur və növbəti tip və uzunluq baytlarının oxunması yaddaşdakı ardıcıl məlumatlardan həyata keçirilir. Atlanıla bilən opsiyonların uzun silsiləsini daşıyan tək bir OFFER kifayətdir: ``` ERROR: AddressSanitizer: heap-buffer-overflow READ of size 1 at 0x61b000000794 thread T5 #0 _nx_dhcp_search_buffer addons/dhcp/nxd_dhcp_client.c:7541 #1 _nx_dhcp_get_option_value addons/dhcp/nxd_dhcp_client.c:7082 0x61b000000794 is located 164 bytes to the right of 1648-byte region ``` Eyni yol vasitəsilə gələn düzgün formalaşdırılmış OFFER normal şəkildə emal edilir, klient təklifi qeydə alır və REQUESTING mərhələsinə keçir, beləliklə fərq test mühitində deyil, opsiyon strukturundadır. Oxuma əməliyyatı klient hələ konfiqurasiya edilməmiş ikən DHCP klient axınında (thread) baş verir, buna görə də düşmən DHCP cavabvericinin əlçatan olduğu hər yükləmədə (boot) baş verir. Oxunan dəyərlər interfeysi konfiqurasiya etmək üçün istifadə olunur ki, bu da açıqlanan baytların müşahidə edilə bilən olmasına səbəb olur. `i` dəyişənini size + 2 vahid artırmaq və ya ikinci sayğacı saxlamaq əvəzinə sərhədi `data`-dan törətmək lazımdır.
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 |
|---|---|---|
| Eclipse Foundation eclipse-threadx/netxduo | v ≤ 6.5.1 | — |
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.