CVE-2026-121956
WysokieCVSS 7.5Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie wywołać awarię serwera FreeRDP bez uwierzytelnienia, powodując odmowę usługi. Uszkodzenie sterty może potencjalnie prowadzić do dalszej eksploatacji.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.2 lub nowszej. Rozważ ograniczenie dostępu do usługi RDP z niezaufanych sieci.
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-121963Średnie
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.
- 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-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 double free in the WinPR Kerberos SSPI retrieveSomeTgt function, which installs the krb5 default realm into a target principal that has an empty realm without taking ownership of it. Unauthenticated remote clients can send a crafted NLA/CredSSP u2u TGT request whose server-name component contains '@' to corrupt the heap and crash the server process.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

