CVE-2026-109680
ŚrednieCVSS 5.3Streszczenie
FreeRDP 3.18.0 do 3.32.0 ma zapis poza zakresem na stercie w funkcji freerdp_interruptible_get_line, która zmniejsza bufor do 32 bajtów, zachowując długość wstępnie wypełnionej sugerowanej nazwy użytkownika jako offset zapisu. Złośliwa lub skompromitowana usługa routingu ARM może zwrócić długą nazwę redirectedUsername, która dociera do monitu o poświadczenia CLI, powodując awarię klienta, gdy użytkownik wpisuje dane.
Ocena ryzyka
Zdalny atak może spowodować awarię klienta podczas uwierzytelniania, co prowadzi do przerwania sesji i potencjalnej odmowy usługi.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.0 lub nowszej. Ogranicz zaufanie do usług routingu ARM.
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 3.18.0 before 3.32.0 has a heap-based out-of-bounds write in freerdp_interruptible_get_line, which shrinks the buffer to 32 bytes while keeping a pre-filled suggested username's length as its write offset. A malicious or compromised ARM routing service can return a long redirectedUsername that reaches the CLI credential prompt, crashing the client when the user types input.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

