SSHole — haavatavus, mis vĂ”imaldab SSH-ĂŒhendust luua paroolita sĂŒsteemides, kus on Musl

OpenSSH arendajad avaldasid erakorralise uuenduse OpenSSH 10.6p2, mis sisaldab kaitset kriitilise haavatavuse (CVE ei ole mÀÀratud), koodnimega "SSHole", mis vĂ”imaldab autentimise ĂŒletamist. Musl teegiga sĂŒsteemides vĂ”imaldab see haavatavus ĂŒhenduda kasutajaga, kellel pole parooli, sisestades mis tahes parooli, mis sisaldab rohkem kui 256 mĂ€rki. Probleem mĂ”jutab Linuxi jaotusi, mis kasutavad tavalist musl teeki, kuid ei kasuta PAM-i (Pluggable Authentication Modules), nagu OpenWRT, Alpine, Buildroot ja Yocto. Eriline oht on see, et sageli on juurkasutaja parooliga sisse logimine blokeeritud, mis vĂ”imaldab igal kaugel ĂŒhenduda administraatorite Ă”igustega.

Haavatavust pĂ”hjustav viga ei ole OpenSSH koodis, kuid seda Ă€ra kasutatakse sshd kaudu. Arvestades probleemi tĂ”sidust, on versioonis OpenSSH 10.6p2 pakutud lahendus haavatavuse blokeerimiseks. Probleemiga mĂ”jutatud sĂŒsteemide omanikele soovitatakse mitte oodata uuenduste ilmus, vaid kohe keelata parooliga autentimine, kasutades parameetrit "PasswordAuthentication no" failis /etc/ssh/sshd_config vĂ”i tĂ€ielikult keelata SSH.

Probleem ei avaldu mitte-Linuxi sĂŒsteemides ja glibc-pĂ”histes Linuxi keskkondades ning PAM-i kasutavates sĂŒsteemides parooliautentimise jaoks. Parandus on juba saadaval Alpines ja OpenWRT-s.

Haavatavus on seotud OpenSSH ja musl funktsiooni crypt() vale koostoimega. Alates 2016. aastast, et kaitsta kasutajate olemasolu tuvastamise eest, analĂŒĂŒsides pĂ€ringute töötluse aja erinevusi, kasutab OpenSSH paroolita kasutajate kontrollimisel lahendust: kutsub funktsiooni "crypt(sisestatud parool, sool)" teise kasutaja soolaga, kellel on kehtiv parooli hash, seejĂ€rel vĂ”rreldakse funktsiooni crypt tagastatud hash-i parooli hash-i vĂ€ljaga.

Kuid musl-funktsioon crypt() SHA-512 hashide jaoks tagastab sĂŒmboli "*", kui sisestatud parooli pikkus ĂŒletab 256 baiti (see piirang kehtestati 2012. aastal DoS-rĂŒnnakute kaitseks, kuna suurte vÀÀrtuste edastamine tekitab suure koormuse CPU-le). Sama sĂŒmbol kasutatakse parooli hash-i vĂ€ljaga failis "/etc/shadow", et tĂ€histada kontosid, mille jaoks parooliga autentimine on blokeeritud.

RĂŒnnaku ajal, kui hĂ€kker suudab ĂŒhendada SSH-serveriga, saab ta ĂŒhendust vĂ”tta mis tahes kontoga, mille paroolifailis «/etc/shadow» on mĂ€rgitud tĂ€hega «*», edastades 257 kuni 1024 ​​baiti pikkuse stringi. Probleem hĂ”lmab paljusid olemasolevaid Docker-pilte, mis on loodud Alpine Linuxi abil, samuti OEM Alpine pilte pilvesĂŒsteemide AWS ja Azure jaoks, kus root-kasutajal on paroolihasu asemel mĂ€rgitud mĂ€rk «*».

Oluline on mĂ€rkida, et ametlikest Docker-piltidest, mis kasutavad Alpine'i, oli alates 2015. aastast root parool tĂŒhi ning pĂ€rast selle avastamist asendati paroolihash mĂ€rgiga «!». Kuid selle olemasolu takistas sisse logimist SSH-vĂ”tmete kaudu, seetĂ”ttu asendati alates 2022. aastast parooliga sisse logimise blokeerimise sĂŒmbol mĂ€rgiga «*».

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster