SSHole — ievainojamÄ«ba, kas ļauj pieslēgties, izmantojot SSH bez paroles, sistēmās ar Musl

OpenSSH izstrādātāji ir publicējuÅ”i steidzamu atjauninājumu OpenSSH 10.6p2, kurā ir iekļauta aizsardzÄ«ba pret kritisko ievainojamÄ«bu (CVE nav pieŔķirts), kas saņēmusi kodu nosaukumu Ā«SSHoleĀ» un ļauj apiet autentifikāciju. Sistēmās ar Musl bibliotēku ievainojamÄ«ba ļauj pieslēgties lietotājam, kuram nav iestatÄ«ta parole, ievadot jebkuru paroli, kas garāka par 256 simboliem. Problēma skar Linux izplatÄ«jumus, kas izmanto standarta musl bibliotēku, bet neizmanto PAM (Pluggable Authentication Modules), piemēram, OpenWRT, Alpine, Buildroot un Yocto. ÄŖpaÅ”u apdraudējumu rada tas, ka bieži vien paroles piekļuve ir bloķēta lietotājam root, kas dod iespēju ikvienam attālināti pieslēgties ar administratora tiesÄ«bām.

IevainojamÄ«bu izraisa kļūda, kas nav OpenSSH kodā, bet tiek izmantota, izmantojot sshd. Ņemot vērā problēmas nopietnÄ«bu, OpenSSH 10.6p2 versijā ir ieteikts apiet risinājums, lai bloķētu ievainojamÄ«bu. Sistēmu Ä«paÅ”niekiem, kas pakļauti Å”ai problēmai, ieteicams nekavējoties atslēgt paroles autentifikāciju, izmantojot parametrus Ā«PasswordAuthentication noĀ» failā /etc/ssh/sshd_config vai pilnÄ«gi atslēgt SSH.

Problēma neizpaužas sistēmās, kas nav Linux, un Linux vidēs, kas balstītas uz glibc, kā arī sistēmās, kas izmanto PAM paroles autentifikācijai. Labojums jau pieejams Alpine un OpenWRT.

IevainojamÄ«ba ir saistÄ«ta ar nepareizu OpenSSH un funkcijas crypt() no musl mijiedarbÄ«bu. Lai pasargātu no esoÅ”o lietotāju noteikÅ”anas, analizējot laika apstrādes atŔķirÄ«bas, kopÅ” 2016. gada OpenSSH pārbaudes bezparoles kontiem izmanto standarta parole pārbaudes procedÅ«ru: tas aicina funkciju Ā«crypt(ievadÄ«tā parole, sāls)Ā» ar cita lietotāja sāli, kam ir derÄ«gs paroles hashes, pēc tam salÄ«dzina ar crypt funkcijas atgriezto hash ar to, kas atrodas lauka vērtÄ«bā ar paroli.

Tomēr musl funkcija crypt() SHA-512 hashiem atgriež simbolu Ā«*Ā», ja ievadÄ«tās paroles garums pārsniedz 256 baitus (ierobežojums ieviests 2012. gadā, lai pasargātu no DoS uzbrukumiem, jo, pārsÅ«tot lielas vērtÄ«bas, CPU slodze palielinās). Tas pats simbols tiek izmantots lauka ar paroli hashes daļā failā Ā«/etc/shadowĀ», lai apzÄ«mētu kontus, kuriem paroles autentifikācija ir bloķēta.

Tādējādi uzbrucējs, kuram ir iespēja pieslēgties SSH serverim, var pieslēgties jebkurai lietotāja kontam, kurā failā ā€ž/etc/shadowā€ parolē ir norādÄ«ts simbols ā€ž*ā€, pārsÅ«tot virkni no 257 lÄ«dz 1024 baitiem garumā. Problēma ietekmē daudzas esoŔās Docker attēlus, kas izveidoti, izmantojot Alpine Linux, kā arÄ« noklusējuma Alpine attēlus mākoņu sistēmām AWS un Azure, kur lietotājam root vietā saglabātā parola ir simbols ā€ž*ā€.

Ievērojami, ka sākotnēji oficiālajos Docker attēlos, kas izmantoja Alpine, kopÅ” 2015. gada root parole bija tukÅ”a, un pēc Ŕī fakta atklāŔanas, vietā esoÅ”ajam parolē heÅ”am tika izmantots simbols ā€ž!ā€œ. Tomēr tā klātbÅ«tne bloķēja piekļuvi, izmantojot SSH atslēgas, tāpēc kopÅ” 2022. gada simbols, kas bloķēja piekļuvi ar paroli, tika nomainÄ«ts uz ā€ž*ā€.

Avots: opennet.lv

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster