Na początku warto uspokoić wszystkich użytkowników – powstała luka nie dotyczy OpenSSH ani innych popularnych implementacji protokołu SSH. Problem występuje jedynie w bibliotekach Erlang/OTP, które implementują ten protokół, a podatność ta uzyskała 10.0 punktów w skali CVSS v3.
Opis podatności CVE-2025-32433
Podatność, oznaczona jako CVE-2025-32433, pozwala na wykonanie kodu przez nieuwierzytelnionego atakującego na zdalnym systemie z uprawnieniami daemona SSH, co często oznacza dostęp do konta root. W związku z tym, czas na reakcję jest bardzo ograniczony. Jeśli korzystacie z ekosystemu Erlanga, to koniecznie zajmijcie się łatającym aktualizacjom już teraz!
Łatwość wykorzystania luki
Choć odkrywcy podatności nie opublikowali jeszcze kodu źródłowego proof-of-concept, odtworzenie luki oraz znalezienie wektora ataku okazało się stosunkowo proste. Co więcej, do tego celu wykorzystano sztuczną inteligencję, co samo w sobie wzbudza pewne kontrowersje.
Przyczyny i skutki ataku
Problem wynika ze sposobu zaimplementowania obsługi wiadomości SSH w Erlangu. Konsekwencją ataku może być pełne przejęcie hosta, co stawia bezpieczeństwo wielu systemów pod dużym znakiem zapytania.
Erlang i jego zastosowania
Erlang to funkcyjny język programowania, stworzony w 1986 roku przez firmę Ericsson w celu projektowania aplikacji współbieżnych. Jego odporność na błędy czyni go idealnym wyborem w środowiskach telekomunikacyjnych. Ekosystem Erlanga jest otwartoźródłowy i obejmuje biblioteki do obsługi popularnych protokołów sieciowych oraz rozproszonych baz danych, znany jako Open Telecom Platform (OTP).
Badania nad luką
Po opublikowaniu informacji o podatności, w środowisku badawczym zaczęły się pojawiać głosy, takie jak ten z Horizon3 Attack Team, które sugerowały, że odtworzenie ataku jest wyjątkowo proste. W odpowiedzi na te twierdzenia inni badacze postanowili wykorzystać dostępne modele LLM do stworzenia działającego PoC. Warto zauważyć, że ich artykuł również wydaje się być wspomagany przez AI.
Proces wykrywania podatności
Badacze opracowali skrypt, który porównywał dwie wersje kodu – podatną i naprawioną. Choć mogli skorzystać z dostępnych narzędzi do porównywania commitów, zdecydowali się na wykorzystanie AI, co dodało nowy wymiar do ich pracy. Na etapie porównywania kodu, natrafili na istotne zmiany, które ujawniały lukę.
Wykorzystanie AI w badaniach
Używając modeli od OpenAI oraz Anthropic, badacze byli w stanie stworzyć PoC do eksploitacji tej podatności. Model GPT-4, analizując przyczyny powstania luki, zadał kluczowe pytanie, które może zaintrygować każdego hakera: „Chcesz pełnego klienta PoC? Demo w stylu Metasploit? Naprawionego serwera SSH do dalszego śledzenia?”
Wnioski na przyszłość
Ostatecznie, po kilku poprawkach i sesji debugowania, badacze uzyskali działający PoC. Luka pozwalała na przesyłanie wykonywanych komend na etapie negocjacji połączenia. W sieci dostępny jest również gotowy szablon nuclei, który można wykorzystać w różnych programach bug bounty.
Nie należy jednak lekceważyć tego, co się wydarzyło. Prosty błąd w implementacji SSH w Erlangu pokazał, jak niskim progiem wejścia charakteryzuje się obecnie badanie bezpieczeństwa. Nowe możliwości, które dają modele językowe, mogą obniżyć barierę dla atakujących, a to powinno być sygnałem alarmowym dla wszystkich zajmujących się bezpieczeństwem IT.
Warto mieć nadzieję, że rozwój AI w kontekście wykrywania podatności będzie wspierał badaczy, a nie ich zastępował. Na chwilę obecną nie ma narzędzi, które mogłyby zastąpić ludzką inteligencję w tym procesie. Ostatecznie, warto pamiętać, że samodzielne rozwiązywanie zadań na CTF-ach to doskonały sposób na naukę i rozwój umiejętności w dziedzinie bezpieczeństwa.