CVE-2026-29774
Təsvir
FreeRDP, Remote Desktop Protocol-un pulsuz tətbiqidir. 3.24.0 versiyasından əvvəl, H.264 metablock regionRects koordinatlarının üfüqi sərhəd yoxlamasının olmaması səbəbindən FreeRDP klientinin AVC420/AVC444 YUV-to-RGB çevirmə yolunda klient tərəfli heap bufer daşması baş verir. yuv.c faylında, clamp() funksiyası (sətir 347) yalnız üst/alt sərhədləri surface/YUV hündürlüyünə görə yoxlayır, lakin sol/sağ sərhədləri surface enliyi ilə heç vaxt müqayisə etmir. avc420_yuv_to_rgb (sətir 67) rect->left istifadə edərək təyinat və mənbə göstəricilərini hesabladıqda, ayrılmış surface buferindən çox kənara çıxa bilən yoxlanılmamış göstərici aritmetikası yerinə yetirir. Zərərli server, AVC420 kodeki olan və regionRects girişində sol sərhədin surface enliyini əhəmiyyətli dərəcədə aşdığı (məsələn, 128px surface üçün left=60000) bir WIRE_TO_SURFACE_PDU_1 göndərir. H.264 bit axını uğurla dekodlaşdırılır, sonra yuv420_process_work_callback funksiyası avc420_yuv_to_rgb-ni çağırır və o, pDstPoint = pDstData + rect->top * nDstStep + rect->left * 4 düsturu ilə hesablama apararaq, ayrılmış heap bölgəsindən 1888+ bayt kənarda 16-baytlıq SSE vektorlarını yazır. Bu zəiflik 3.24.0 versiyasında aradan qaldırılıb.
Necə düzəltmək olar
- freerdp freerdp3.24.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| freerdp freerdp | v < 3.24.0 | 3.24.0 |
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.