CVE-2026-109944
ŚrednieCVSS 6.5Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie powodować awarie klientów FreeRDP z włączoną emulacją i przekierowaniem kart inteligentnych, zakłócając dostępność.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.0 lub nowszej. Rozważ wyłączenie emulacji kart inteligentnych, jeśli nie jest wymagana.
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-109943Średnie
FreeRDP w wersjach od 3.29.0 do 3.32.0 zawiera podwójne zwolnienie w proxy komunikatów async-update klienta, które płytko kopiuje tablicę punktów PolygonSC lub PolygonCB, gdy numPoints wynosi zero. Zarówno konsument kolejki, jak i parser zwalniają tę samą pamięć, co pozwala złośliwemu serwerowi RDP na awarię klienta z włączonym +async-update.
Oryginalny opis (angielski, źródło NVD)
FreeRDP 3.0.0 before 3.32.0 does not remove card handles when Emulate_SCardReleaseContext releases a smartcard-emulation context, so Emulate_SCardTransmit later looks up the deleted parent context and reaches a terminating WINPR_ASSERT. A malicious RDP server can crash a connecting client with smartcard emulation and redirection enabled by releasing a context, establishing another, and issuing SCardTransmit with the stale card handle.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

