CVE-2026-109942
ŚrednieCVSS 6.5Streszczenie
FreeRDP w wersjach od 2.3.0 do 3.32.0 dereferencjonuje NULL stream w rdg_process_close_packet w libfreerdp/core/gateway/rdg.c, ponieważ rdg_process_control_packet akceptuje pakiet PKT_TYPE_CLOSE_CHANNEL zawierający tylko nagłówek i przekazuje pusty ładunek bez sprawdzenia. Złośliwy lub przejęty RD Gateway może wysłać ośmiobajtowy nagłówek CLOSE_CHANNEL, aby spowodować awarię klienta.
Ocena ryzyka
Atakujący kontrolujący bramę RD Gateway może zdalnie powodować awarie klientów FreeRDP, zakłócając dostęp do usług zdalnego pulpitu.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.0 lub nowszej. Ogranicz zaufanie do zewnętrznych bram RD Gateway.
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 2.3.0 before 3.32.0 dereferences a NULL stream in rdg_process_close_packet in libfreerdp/core/gateway/rdg.c because rdg_process_control_packet accepts a header-only PKT_TYPE_CLOSE_CHANNEL packet and passes the null payload without a check. A malicious or compromised RD Gateway can send an eight-byte CLOSE_CHANNEL header to crash a connecting FreeRDP client.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

