regreSSHion (CVE-2024-6387)

regreSSHion to podatność w OpenSSH (CVE-2024-6387), która pozwala na nieuwierzytelnione zdalne wykonanie kodu z uprawnieniami roota. Innymi słowy: napastnik bez żadnego konta może w skrajnym przypadku przejąć pełną kontrolę nad serwerem. OpenSSH to jedna z najczęściej używanych usług zdalnego dostępu na serwerach Linux, więc skala potencjalnego problemu jest ogromna. Poniżej tłumaczymy, na czym polega luka, kogo dotyczy i co konkretnie zrobić.
Na czym polega regreSSHion
1 lipca 2024 roku zespół Qualys Threat Research Unit ujawnił lukę w OpenSSH, oznaczoną jako CVE-2024-6387. To podatność typu race condition (warunek wyścigu) w obsłudze sygnałów serwera sshd.
Ciekawostka: to powrót starego błędu. Ta sama luka istniała lata temu (CVE-2006-5051), została załatana, a potem, przez błąd przy modyfikacji kodu, wróciła w wersjach od października 2020 roku. Stąd nazwa regreSSHion, od regresji.
Skutek w języku biznesu: nieuwierzytelniony napastnik z sieci może, przy odpowiednim wysiłku, uzyskać uprawnienia roota na serwerze. To dostęp do danych, możliwość instalacji złośliwego oprogramowania i utrzymania się w systemie.
Kluczowe pojęcia w skrócie
- OpenSSH. Otwarty pakiet do szyfrowanego, zdalnego dostępu do serwerów. Na Linuksie to standardowy sposób logowania i zarządzania maszynami.
- root. Najbardziej uprzywilejowany użytkownik w systemie Linux. Pełny, nieograniczony dostęp.
- RCE (Remote Code Execution). Zdalne wykonanie kodu. Krytyczna klasa luk, która pozwala napastnikowi uruchomić własny kod na cudzej maszynie przez sieć.
Jak działa luka
Błąd tkwi w obsłudze sygnału, gdy klient nie zdąży się uwierzytelnić w czasie określonym parametrem LoginGraceTime (domyślnie 120 sekund). Po jego upływie asynchronicznie uruchamia się funkcja obsługi sygnału, która wywołuje operacje niebezpieczne w tym kontekście.
Wykorzystanie luki wymaga bardzo precyzyjnego wyczucia czasu, dlatego atak jest trudny. W testach na systemie 32-bitowym potrzeba było średnio około 10 000 prób, żeby się udało. Prace nad exploitem dla systemów 64-bitowych były w toku.
Kogo dotyczy, a kogo nie
Podatność dotyczy określonych wersji OpenSSH na systemach Linux opartych na glibc. Nie dotyczy systemów Windows.
- OpenSSH poniżej 4.4p1 jest podatny,
- od 4.4p1 do 8.5p1 nie jest podatny,
- od 8.5p1 do 9.8p1 jest ponownie podatny.
Uwaga: sama wersja to nie wszystko. Dystrybucje często wydają łatki bez zmiany numeru wersji, więc z pozoru podatna wersja może być już zabezpieczona. Sprawdź stan łatek u swojego dostawcy systemu. Wersję OpenSSH wyświetlisz poleceniem ssh -V.
Co konkretnie zrobić
Priorytet: zaktualizuj OpenSSH do najnowszej lub załatanej wersji. To najskuteczniejsze rozwiązanie.
Jeśli nie możesz zaktualizować od razu, tymczasowym obejściem jest ustawienie LoginGraceTime na 0 w konfiguracji sshd. Neutralizuje to regreSSHion, ale wystawia serwer na atak typu odmowa usługi (DoS), więc traktuj to jako rozwiązanie na chwilę.
Dodatkowo, ogólne utwardzenie SSH:
- ogranicz dostęp do SSH zaporą, tylko do zaufanych adresów IP,
- odizoluj serwery SSH w osobnych segmentach sieci,
- wyłącz logowanie roota po SSH i używaj kluczy zamiast haseł,
- monitoruj logi SSH pod kątem podejrzanej aktywności.
Te kroki podnoszą ogólne bezpieczeństwo, ale nie zastępują aktualizacji. Bez łatki luka pozostaje.
Co z tego wynika
- regreSSHion to luka klasy RCE w OpenSSH, groźna, bo daje uprawnienia roota bez uwierzytelnienia,
- dotyczy wybranych wersji na Linuksie, nie dotyczy Windows,
- atak jest trudny technicznie, ale potencjalny skutek jest na tyle poważny, że nie warto go bagatelizować,
- podstawowe działanie to aktualizacja OpenSSH.
Nie masz pewności, które z Twoich serwerów są wystawione i podatne? Umów bezpłatną konsultację. Sprawdzimy Twoją powierzchnię ataku i wskażemy, od czego zacząć.
Umów bezpłatną konsultację, a sprawdzimy Twoją powierzchnię ataku i wskażemy, co załatać w pierwszej kolejności.