CVE-2026-121963
ŚrednieCVSS 5.9Streszczenie
FreeRDP przed wersją 3.32.2 zawiera podatność use-after-free w asynchronicznym dynamicznym kanale rdpsnd, która pozwala złośliwym serwerom RDP wywołać dostęp do zwolnionego callbacku poprzez zamknięcie kanału z zakolejkowanymi PDU audio. Atakujący mogą wysłać PDU treningowy, a następnie zamknąć kanał, tak aby wątek odtwarzania odczytał zwolniony callback w rdpsnd_virtual_channel_write, powodując awarię klienta.
Ocena ryzyka
Złośliwy serwer RDP może zdalnie wywołać awarię klienta lub uszkodzić pamięć, potencjalnie prowadząc do wykonania kodu.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.2 lub nowszej. Unikaj łączenia się z niezaufanymi serwerami RDP.
Inne podatności w FreeRDP
Zobacz wszystkie- CVE-2026-121964Wysokie
FreeRDP w wersjach przed 3.32.2 zawiera przepełnienie bufora na stercie w kliencie RPC RD Gateway, gdzie funkcja rpc_client_recv_fragment zapisuje fragmenty BIND_ACK i ALTER_CONTEXT_RESP do trwałego strumienia PDU, sprawdzając tylko całkowitą pojemność, a nie pozostałą pojemność od bieżącej pozycji strumienia. Złośliwy lub przejęty RD Gateway może wysłać spreparowane fragmenty RPC z zmanipulowanymi wartościami alloc_hint i frag_length, aby nadpisać pamięć sterty klienta danymi kontrolowanymi przez atakującego, powodując awarię lub potencjalne wykonanie dowolnego kodu.
- CVE-2026-121962Wysokie
FreeRDP w wersjach przed 3.32.2 zawiera przepełnienie bufora na stercie w funkcji transport_default_read_pdu podczas obsługi częściowych odczytów Early User Authorization w ramach PROTOCOL_HYBRID_EX CredSSP. Złośliwy serwer RDP może podzielić czterobajtowy wynik EUA na krótkie odczyty, które przesuwają wskaźnik strumienia poza alokację 16 KiB, powodując zapis poza granicami i odmowę usługi po stronie klienta.
- CVE-2026-121961Średnie
FreeRDP przed wersją 3.32.2 zawiera podatność use-after-free w trackerze DRDYNVC freerdp-proxy podczas przechwytywania kanału drdynvc. Złośliwy serwer docelowy może wielokrotnie wysyłać CREATE_REQUEST_PDU dla aktywnego identyfikatora kanału, ścigając się z obsługą danych front DATA w celu zwolnienia pożyczonego kontekstu i spowodowania awarii procesu proxy.
- CVE-2026-121960Wysokie
FreeRDP w wersjach przed 3.32.2 zawiera podatność odmowy usługi w serwerze shadow z włączonym NLA, gdy żądanie CredSSP TSRequest nie zawiera negoTokens. Nieuwierzytelniony atakujący może wysłać spreparowane siedmiobajtowe żądanie TSRequest zawierające tylko pole wersji, aby wywołać krytyczny WINPR_ASSERT i przerwać proces serwera.
- CVE-2026-121959Średnie
FreeRDP w wersjach przed 3.32.2 zawiera podatność na nieskończoną pętlę w funkcji websocket_context_read, która nie obsługuje wyniku zerowego BIO przy oczekującym ładunku. Złośliwy serwer RD Gateway może wysłać obcięty frame WebSocket, a następnie TLS close_notify, powodując zapętlenie wątku klienta i zużycie CPU aż do jego zabicia.
- CVE-2026-121958Wysokie
FreeRDP do wersji 3.32.1 ma podatność heap out-of-bounds write w kliencie RDPGFX, ponieważ callback delete_surface obcina klucze haszy powierzchni do 16 bitów, pozostawiając tablicę powierzchni w niespójnym stanie, przez co HashTable_GetKeys zapisuje poza zaalokowaną tablicą kluczy. Złośliwy lub działający jako man-in-the-middle serwer RDP może to wykorzystać, tworząc surfaceId 0xFFFF, zamykając kanał RDPGFX, wysyłając powtarzane PDU DELETESURFACE, a następnie ENDFRAME lub RESETGRAPHICS.
- CVE-2026-121957Wysokie
FreeRDP w wersjach przed 3.32.2 zawiera podatność use-after-free, która pozwala złośliwym serwerom RDP uszkodzić pamięć klienta poprzez wyścig między obsługą ResetGraphics w RDPGFX a dekoderem bitmap planarnych. Atakujący może wysłać ResetGraphics jednocześnie wysyłając skompresowane bitmapy 32 bpp lub większe, aby wywołać use-after-free na stercie lub odczyt/zapis poza granicami współdzielonych buforów planarnych.
- CVE-2026-121956Wysokie
FreeRDP przed wersją 3.32.2 zawiera błąd podwójnego zwolnienia w funkcji WinPR Kerberos SSPI retrieveSomeTgt, która przypisuje domyślny realm krb5 do głównego podmiotu z pustym realmem bez przejęcia własności. Nieuwierzytelnieni zdalni klienci mogą wysłać spreparowane żądanie NLA/CredSSP u2u TGT z znakiem '@' w nazwie serwera, co uszkadza stertę i powoduje awarię procesu serwera.
- CVE-2026-121955Wysokie
FreeRDP przed wersją 3.32.2 zawiera podatność use-after-free w funkcji Emulate_SCardReleaseContext, która zwalnia emulowany SCardContext przed anulowaniem i dołączeniem wątku roboczego. Złośliwy serwer może wysłać IRP smartcard ESTABLISHCONTEXT, GETSTATUSCHANGE z długim limitem czasu, a następnie RELEASECONTEXT, aby uszkodzić pamięć sterty lub spowodować awarię klientów korzystających z emulacji smartcard.
- CVE-2026-121954Średnie
FreeRDP w wersjach przed 3.32.2 ma podatność na zapis poza granicami sterty w kodeku planar, ponieważ freerdp_bitmap_planar_context_reset zatwierdza nowe wymiary przed pomyślną realokacją bufora, a nieudany ResetGraphics jest tylko logowany. Złośliwy serwer RDP może wysłać zbyt duży PDU ResetGraphics, a następnie polecenie GFX PLANAR, aby uszkodzić pamięć sterty klienta i spowodować awarię klienta.
Oryginalny opis (angielski, źródło NVD)
FreeRDP before 3.32.2 contains a use-after-free vulnerability in the asynchronous dynamic rdpsnd channel that allows malicious RDP servers to trigger freed callback access by closing the channel with queued audio PDUs. Attackers can send a training PDU then close the channel so the playback thread reads the freed callback in rdpsnd_virtual_channel_write, crashing the client.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

