Įrenginiai, kuriuose veikia kai kurios „Alpine Linux“ konfigūracijos, o galbūt ir kiti paskirstymai, yra paveikti dešimtmetį siekiančio pažeidžiamumo, leidžiančio užpuolikams prisijungti prie įrenginių be slaptažodžio.
Pažeidžiamumas atsiranda dėl OpenSSH, bibliotekos, įgyvendinančios SSH ryšius, ir musl sąveikos. musl yra lengvesnė libc bibliotekos alternatyva, kurią, skirtingai nei daugelis kitų „Linux“ paskirstymų, naudoja „Alpine“. Be to, OpenSSH su musl (tariama kaip angl. muscle) neturi naudoti PAM (pluggable authentication modules, prijungiamųjų autentifikavimo modulių) – sistemos, tvarkančios naudotojų autentifikavimą ir paskyros prieigos patikras. „Alpine“ yra lengvas, plačiai naudojamas „Linux“ paskirstymas. Kitos platformos gali būti paveiktos, jei naudoja tokias pačias konfigūracijas.
Paaiškinimas: libc yra pagrindinė C kalbos standartinė biblioteka, per kurią programos kreipiasi į operacinės sistemos funkcijas. Skirtingi paskirstymai gali naudoti skirtingas jos realizacijas, o musl yra viena iš kompaktiškesnių.
Vienas ryšys, veikia kaskart, pakartotinių bandymų nereikia
Sėkmingai pasinaudoti pažeidžiamumu reikia dar dviejų sąlygų. Pirma, sistemoje turi būti bent viena naudotojo paskyra, pasiekiama slaptažodžiu, kuris užkoduotas (hash) naudojant SHA256 arba SHA512 funkcijas. Antra, tikslinė sistemos paskyra turi būti sukonfigūruota kaip be slaptažodžio – slaptažodžio lauke faile /etc/shadow, kuriame „Linux“ saugo slaptažodžių maišos reikšmes (hash), nurodant „*“. Paskyros be slaptažodžio dažnai naudojamos tais atvejais, kai taikomas sertifikatais grįstas autentifikavimas. Tokia nuostata įprasta tam tikrų tipų paskyroms.
Kai įvykdomos visos sąlygos, pasekmės rimtos.
„Užpuolikas, galintis pasiekti jūsų SSH prievadą, gali prisijungti nežinodamas jokio slaptažodžio“, – ketvirtadienį pranešė „Alpine“ prižiūrėtojai. – „Pakanka vieno ryšio, tai veikia kaskart ir nereikalauja pakartotinių bandymų.“
Jungdamasis prie paskyros be slaptažodžio, užpuolikas gali gauti prieigą slaptažodžio lauke įvedęs daugiau nei 256 simbolius.
Saugumo bendrovė „Checkpoint“ pranešė, kad SHA256 arba SHA512 funkcijų naudojimas „yra svarbus, nes sshd pasiskolina tos paskyros druską (salt). Be jos ataka nepavyksta“. Bendrovės tyrėjai teigė, kad jų bandymai taip pat parodė, jog paskyra turi būti aktyvi, o ne tik turėti maišos reikšmę. „Checkpoint“ taip pat nurodė, kad root paskyros yra saugios esant numatytajai PermitRootLogin prohibit password nuostatai, nors pasiekiamos paskyros su doas arba sudo teisėmis vis dar gali tapti root.
Nepaisant būtinų sąlygų, *sshole – tokį pažeidžiamumo pavadinimą suteikė jį atradęs asmuo – greičiausiai kelia grėsmę dideliam skaičiui sistemų. „Alpine“ bazinis „Docker Hub“ vaizdas atsisiųstas daugiau nei 1 mlrd. kartų. „Alpine“ jau seniai populiarus maršrutizatoriuose, išmaniuosiuose televizoriuose, pramoniniuose valdikliuose ir kitokiuose įterptiniuose įrenginiuose, kurių daugelio neįmanoma lengvai atnaujinti arba tai neįmanoma visai. Pastaruoju metu „Alpine“ pradėtas naudoti ir staliniuose kompiuteriuose bei serveriuose. Jis taip pat naudojamas daugelyje konteinerių vaizdų.
Pasak saugumo bendrovės „Detectify“, „Shodan“ nurodo maždaug 22 mln. sistemų su atvira SSH prieiga 22 prievade. Tik dalis jų atitinka sąlygas, būtinas pažeidžiamumui išnaudoti, tačiau atsižvelgiant į tai, kaip lengva ir greita kiekvieną patikrinti, pažeidžiamų įrenginių nustatymas nereikalaus daug pastangų ar laiko.
Nėra visiškai aišku, kur būtent slypi pažeidžiamumas. OpenSSH, ketvirtadienį išleidusi atnaujinimą, nurodė: „Manome, kad pagrindinė šios klaidos priežastis yra už sshd ribų, tačiau ja galima pasinaudoti per sshd ir tai galima apeiti jame.“ Tuo tarpu musl kūrėjas Richas Felkeris parašė: „Mano nuomone, tai ne musl klaida, o tik klaidingas kvietėjo naudojimas.“ Felkeris pridūrė, kad musl kūrėjai jau „kurį laiką“ norėjo pakeisti šį mechanizmą ir planuoja tai padaryti būsimame leidime. „Alpine“ taip pat išleido atnaujinimą.
Kol kas nežinoma, kokie kiti paketai gali būti pažeidžiami. *sshole atradęs asmuo teigė, kad paveikta OpenWRT, tačiau pagal numatytuosius nustatymus ši operacinė sistema SSH ryšiams naudoja ne OpenSSH, o Dropbear paketą (nors prižiūrėtojai pateikia instrukcijas, kaip įdiegti pirmąjį). Atradėjas taip pat nurodo, kad paveikti paketai buildroot ir yocto, tačiau tai kol kas nepatvirtinta.
Nepaisant neapibrėžtumo, visi, naudojantys „Linux“ sistemą su musl ir OpenSSH, turėtų nedelsdami skirti laiko ir išsiaiškinti, ar yra paveikti. Geras atspirties taškas yra čia. „Alpine“ ir OpenSSH pataisos turėtų būti įdiegtos visose paveiktose sistemose. Šiam pažeidžiamumui žinomo CVE žymens nėra.



