CVE-2026-109242
WysokieCVSS 7.1Streszczenie
FreeRDP przed wersją 3.0.0 oraz w wersjach 3.6.0 do 3.32.0 renderuje niezainicjalizowaną pamięć sterty z nieodkodowanych kafelków progresywnych, ponieważ bufor tile->current jest alokowany bez zerowania. Złośliwy serwer RDP może wysłać spreparowaną sekwencję WBT_TILE_FIRST i WBT_TILE_UPGRADE, aby wyświetlić bajty sterty na ekranie lub przerwać działanie klienta.
Ocena ryzyka
Ryzyko obejmuje wyciek informacji z pamięci sterty (potencjalnie wrażliwych danych) oraz możliwość awarii klienta, co może prowadzić do przerwania usług.
Rekomendacja
Zaleca się aktualizację FreeRDP do wersji 3.0.0 lub nowszej (lub 3.32.0 dla wersji 3.6.x) oraz monitorowanie komunikatów serwera RDP pod kątem nietypowych sekwencji.
Inne podatności w FreeRDP
Zobacz wszystkie- CVE-2026-109953Średnie
FreeRDP w wersji od 3.0.0 do 3.32.0 zawiera podatność niewystarczającej ochrony poświadczeń, w której opcja /restricted-admin nie tłumi delegowania poświadczeń CredSSP, wysyłając hasło w postaci czystego tekstu do serwera RDP. Przejęty lub będący w środku ataku host docelowy może zdekodować TSPasswordCreds i Client Info PDU, aby uzyskać możliwe do ponownego użycia wartości administracyjnej domeny, nazwy użytkownika i hasła.
- CVE-2026-109952Średnie
Klient FreeRDP w wersji od 3.0.0 do 3.32.0 nie sprawdza wybranego przez serwer protokołu PROTOCOL_RDSTLS lub PROTOCOL_HYBRID_EX względem zestawu włączonych protokołów w nego_process_negotiation_response(), co pozwala na obniżenie poziomu protokołu bezpieczeństwa. Złośliwy serwer lub atakujący w środku może wybrać RDSTLS, aby obejść przypięcie /sec:nla, zakończyć uwierzytelnianie z zerowym plikiem cookie i otrzymać hasło użytkownika w postaci czystego tekstu w Client Info PDU.
- CVE-2026-109951Średnie
FreeRDP w wersji od 3.17.1 do 3.32.0 zawiera podatność przepełnienia bufora sterty (heap buffer over-read) w DynvcTrackerHandleCreateBack obsługi kanału freerdp-proxy DRDYNVC, która pozwala złośliwym serwerom RDP na odczyt pamięci sterty poza granicami. Atakujący mogą wysłać CREATE_REQUEST_PDU, którego nazwa kanału nie zawiera bajtu NUL, powodując nieograniczony odczyt snprintf, który wycieka pamięć do logów proxy lub powoduje awarię procesu.
- CVE-2026-109950Średnie
FreeRDP w wersjach od 3.0.0 do 3.32.0 zawiera podatność typu heap out-of-bounds read. Złośliwy RD Gateway może ustawić MsgBytes znacznie większe niż ActualCount w komunikatach consent lub service, co powoduje odczyt poza zaalokowanym buforem podczas konwersji UTF-8 i awarię klienta.
- CVE-2026-109949Średnie
FreeRDP w wersjach od 3.0.0 do 3.32.0 zawiera niewłaściwe ograniczenie liczby prób uwierzytelnienia w implementacji wirtualnej karty inteligentnej GIDS, gdzie licznik ponownych prób PIN jest przechowywany per uchwyt. Złośliwy serwer RDP może wyczerpać licznik za pomocą VERIFY APDU, a następnie zresetować próby nowym SCardConnect, umożliwiając nieograniczone brute-force PIN-u.
- CVE-2026-109948Średnie
FreeRDP w wersjach od 3.0.0 do 3.32.0 zawiera podatność ujawnienia niezainicjalizowanej pamięci w funkcji smartcard_Transmit_Call. Złośliwy serwer RDP może wysłać żądanie SCardTransmit z nieprawidłowym uchwytem karty i niezerową długością odbioru, powodując serializację do 66 560 bajtów niezainicjalizowanej pamięci sterty.
- CVE-2026-109947Średnie
FreeRDP w wersjach od 3.20.1 do 3.32.0 zawiera podatność niekontrolowanej alokacji zasobów. Złośliwy serwer RDP może wysłać żądanie IRP_MJ_READ z Length 0xffffffff, powodując alokację około 4 GiB wyzerowanej pamięci w kompilacjach 64-bitowych lub niedostatecznie zarezerwowany bufor w kompilacjach 32-bitowych.
- CVE-2026-109946Średnie
FreeRDP w wersjach od 3.11.0 do 3.32.0 nie sprawdza, czy szerokości regionów AVC444 i AVC444v2 są parzyste przed konwersją YUV444. Nieparzysta szerokość prowadzi do asercji i przerwania działania klienta po negocjacji RDPGFX AVC444.
- CVE-2026-109945Średnie
FreeRDP w wersjach od 3.0.0 do 3.32.0 zawiera podatność use-after-free w emulacji karty inteligentnej, gdy SCARD_IOCTL_DISCONNECT i SCARD_IOCTL_TRANSMIT działają równocześnie na tym samym uchwycie karty. Złośliwy serwer RDP może nakładać te IRP-y przez osobne wątki kontekstu, powodując zwolnienie i ponowne użycie SCardHandle oraz uszkodzenie sterty i zakończenie procesu klienta.
- CVE-2026-109944Średnie
FreeRDP w wersjach od 3.0.0 do 3.32.0 nie usuwa uchwytów kart, gdy Emulate_SCardReleaseContext zwalnia kontekst emulacji karty inteligentnej. Późniejsze Emulate_SCardTransmit odwołuje się do usuniętego kontekstu nadrzędnego i osiąga kończącą asercję WINPR_ASSERT, co pozwala złośliwemu serwerowi RDP na awarię klienta.
Oryginalny opis (angielski, źródło NVD)
FreeRDP before 3.0.0 and 3.6.0 before 3.32.0 renders uninitialized heap memory from un-decoded progressive tiles because the tile->current buffer is allocated without zeroing. A malicious RDP server can send a crafted WBT_TILE_FIRST then WBT_TILE_UPGRADE sequence to paint heap bytes onscreen or abort the client process.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

