Podatność w rdesktop w wersji do 1.8.3 włącznie polega na przepełnieniu liczby całkowitej (Integer Overflow) w funkcji process_bitmap_updates(), które prowadzi do przepełnienia bufora na stercie (Heap-Based Buffer Overflow). Błąd może skutkować uszkodzeniem pamięci, a w konsekwencji zdalnym wykonaniem kodu (RCE) bez jakiegokolwiek uwierzytelnienia.
▸ Pokaż oryginał (EN)
rdesktop versions up to and including v1.8.3 contain an Integer Overflow that leads to a Heap-Based Buffer Overflow in function process_bitmap_updates() and results in a memory corruption and probably even a remote code execution.
Podatność wynika z nieprawidłowej obsługi arytmetyki liczb całkowitych w funkcji process_bitmap_updates(), odpowiedzialnej za przetwarzanie aktualizacji bitmap podczas sesji RDP. Przepełnienie Integer Overflow (CWE-190) powoduje błędne obliczenie rozmiaru bufora, co następnie prowadzi do zapisu poza jego granicami na stercie — Heap-Based Buffer Overflow (CWE-787). Atakujący może wywołać ten błąd zdalnie, wysyłając specjalnie spreparowane pakiety RDP do podatnego klienta rdesktop, bez konieczności posiadania poświadczeń ani interakcji użytkownika.
Atakujący może doprowadzić do uszkodzenia pamięci procesu klienta rdesktop, a przy sprzyjających warunkach osiągnąć zdalne wykonanie kodu (RCE) z uprawnieniami użytkownika uruchamiającego klienta. Możliwe jest też doprowadzenie do niestabilności lub awarii aplikacji.
Należy zaktualizować rdesktop do wersji wyższej niż 1.8.3, w której wprowadzono poprawkę (dostępną w repozytorium GitHub — commit 4dca546d04321a610c1835010b5dad85163b65e1). Użytkownicy systemów Debian Linux powinni zastosować aktualizację opublikowaną przez projekt Debian LTS (debian-lts-announce 2019/02), a użytkownicy openSUSE Leap — aktualizację z kanału opensuse-security-announce (wrzesień 2019).
rdesktop w wersjach do 1.8.3 włącznie; systemy Debian Linux (gałąź LTS) oraz openSUSE Leap zawierające podatną wersję pakietu rdesktop.
Podatność została ujawniona w kontekście badań Check Point Research opublikowanych pod nazwą 'Reverse RDP Attack' (research.checkpoint.com), dotyczących luk w klientach RDP. Szczegóły techniczne dostępne są pod wskazanym adresem.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDebian
OSDebian8.09.0Opensuse Leap
OSOpensuse15.1Rdesktop
APPRdesktop≤ 1.8.3
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki