Mega Sekurak Hacking Party w Krakowie! 20.10.2025 r. Bilety -30%
CitrixBleed II – kolejny błąd powodujący, że serwer zwraca więcej danych niż powinien
Większość naszych Czytelników zapewne kojarzy krytyczną podatność OpenSSL – Heartbleed, która stała się niemal książkowym przykładem błędu, który dotyka bardzo szerokiego grona użytkowników. Za sprawą błędnej obsługi rozmiaru przesyłanego bufora w nowo dodanym rozszerzeniu TLS/DTLS Heartbeat, możliwe było zdalne odczytanie aż do 64k bajtów pamięci klienta lub serwera. Zdarzało się, że odczytywane bajty zawierały krytyczne z punktu widzenia bezpieczeństwa systemu informacje.
CitrixBleed oraz nowa odsłona CitrixBleed II swoją nazwą nawiązują do tej ikonicznej podatności, ponieważ w gruncie rzeczy pozwalają osiągnąć podobny efekt – ujawnienie zawartości pamięci.
CitrixBleed II (bardziej “marketingowa” nazwa na podatność oznaczoną CVE-2025-5777, która została wyceniona jako krytyczna na 9.3 w skali CVSS 3.1) dotyka NetScalera ADC/Gateway (skonfigurowane jako VPN virtual server, ICA Proxy, CVPN, RDP Proxy oraz serwer AAA (Authentication, Authorization, Accounting)). Podatne są tylko instancje zarządzane samodzielnie, ponieważ wersja chmurowa została już zaktualizowana. Konsekwencją wykorzystania luki może być obejście uwierzytelniania, w tym w szczególności mechanizmów MFA i kradzież tokenów. W efekcie atakujący mogą uzyskać nieautoryzowany dostęp do systemu.
Jak opisują badacze z WatchTowr, genezą podatności zdaje się być błędna obsługa parsowania żądań z poświadczeniami logującego się użytkownika.
“If the login parameter is present but its value is empty, then the corresponding backend variable (e.g., a struct member like ->username, or even a local buffer) should also be initialized to… well, empty!”
Efektem tego jest umieszczenie nadmiarowych informacji (znajdujących się w pamięci obok struktury, która przechowuje informacje o logującym się użytkowniku) w odpowiedzi serwera.
Jak wykorzystać tę podatność? Wystarczy wysłać zapytanie z parametrem login, ale bez jego wartości. Serio!

Badacze podkreślają, że ujawnianie fragmentów pamięci jest niedeterministyczne, więc aby atakujący uzyskał interesujące go informacje, musi dokonać wielu odczytów.
Zaprezentowane zostało również narzędzie, które pozwala na zautomatyzowane odczytywanei danych z pamięci, jednak jak na razie jego kod źródłowy nie został opublikowany. Z drugiej strony w Internecie można natknąć się na zautomatyzowane exploity tej podatności, dlatego zalecamy pilne wdrożenie środków zaradczych.
Producent zaleca przede wszystkim aktualizację – wersje załatane to:
- 14.1-43.56
- 13.1-58.32
- 13.1-37.235
- 12.1-55.328
oprócz tego należy unieważnić wszystkie sesje, które mogły zostać przejęte przy pomocy następujących poleceń (należy je wykonać w momencie, gdy wszystkie elementy klastra są zaktualizowane do nowszych wersji):
- kill icaconnection -all
- kill pcoipConnection -all
W przypadku braku możliwości przeprowadzenia aktualizacji, zaleca się ograniczenie dostępu do podatnych serwerów oraz monitorowanie zapytań do instancji NetScalera.
~Black Hat Logan