OpenSSH 8.3 -julkaisu scp-haavoittuvuuden korjauksella

Kolmen kuukauden kehitystyön jälkeen esitetty vapauta OpenSSH 8.3, avoin asiakas- ja palvelintoteutus SSH 2.0- ja SFTP-protokollien kautta työskentelemiseen.

Uusi julkaisu lisää suojan scp-hyökkäyksiltä, ​​jotka sallivat palvelimen välittää muita tiedostonimiä kuin pyydetyt (toisin kuin aiempi haavoittuvuus, hyökkäys ei anna mahdolliseksi muuttaa käyttäjän valitsemaa hakemistoa tai glob maskia). Muista, että SCP:ssä palvelin päättää, mitkä tiedostot ja hakemistot lähetetään asiakkaalle, ja asiakas tarkistaa vain palautettujen objektinimien oikeellisuuden. Tunnistetun ongelman ydin on, että jos utimes-järjestelmäkutsu epäonnistuu, tiedoston sisältö tulkitaan tiedoston metatiedoksi.

Kun tätä ominaisuutta yhdistetään hyökkääjän hallitsemaan palvelimeen, sitä voidaan käyttää muiden tiedostonimien ja muun sisällön tallentamiseen käyttäjän FS:ään kopioitaessa scp:llä kokoonpanoissa, jotka johtavat epäonnistumiseen utimes-kutsussa (esimerkiksi kun utimes on kielletty SELinux-käytäntö tai järjestelmäkutsusuodatin). Todellisten hyökkäysten todennäköisyyden arvioidaan olevan minimaalinen, koska tyypillisissä kokoonpanoissa utimes-kutsu ei epäonnistu. Lisäksi hyökkäys ei jää huomaamatta - scp:lle soitettaessa näytetään tiedonsiirtovirhe.

Yleisiä muutoksia:

  • Sftp:ssä "-1"-argumentin käsittely on pysäytetty, kuten ssh ja scp, jotka aiemmin hyväksyttiin, mutta jätettiin huomiotta;
  • IgnoreRhostsia käytettäessä sshd:ssä on nyt kolme vaihtoehtoa: "yes" - ohita rhosts/shosts, "no" - kunnioita rhosts/shosteja ja "shosts-only" - salli ".shosts" mutta poista ".rhosts" käytöstä;
  • Ssh tukee nyt %TOKEN-korvausta LocalFoward- ja RemoteForward-asetuksissa, joita käytetään Unix-vastakkeiden uudelleenohjaukseen;
  • Salli julkisten avainten lataaminen salaamattomasta tiedostosta yksityisellä avaimella, jos julkisella avaimella ei ole erillistä tiedostoa;
  • Jos libcrypto on saatavilla järjestelmässä, ssh ja sshd käyttävät nyt chacha20-algoritmin toteutusta tästä kirjastosta sisäänrakennetun kannettavan toteutuksen sijaan, joka on suorituskyvyltään jälkeen jäänyt;
  • Otettu käyttöön kyky tyhjentää peruutettujen varmenteiden binääriluettelon sisältö suoritettaessa komento "ssh-keygen -lQf /polku";
  • Kannettava versio toteuttaa määritelmiä järjestelmistä, joissa SA_RESTART-optiolla varustetut signaalit keskeyttävät select;
  • Ratkaistiin kokoonpanoon liittyvät ongelmat HP/UX- ja AIX-järjestelmissä;
  • Korjattu ongelmat seccomp-hiekkalaatikon rakentamisessa joissakin Linux-kokoonpanoissa;
  • Parannettu libfido2-kirjaston tunnistus ja ratkaistu koontiongelmat "--with-security-key-builtin" -vaihtoehdolla.

OpenSSH-kehittäjät varoittivat myös SHA-1-tiivistettä käyttävien algoritmien tulevasta hajoamisesta johtuen edistäminen törmäyshyökkäysten tehokkuus tietyllä etuliitteellä (törmäyksen valinnan hinta on arviolta noin 45 tuhatta dollaria). Yhdessä tulevassa julkaisussa he suunnittelevat poistavansa oletusarvoisesti käytöstä julkisen avaimen digitaalisen allekirjoitusalgoritmin ”ssh-rsa”, joka mainitaan alkuperäisessä RFC:ssä SSH-protokollalle ja on edelleen laajalle levinnyt käytännössä (käytön testaamiseksi). ssh-rsa:sta järjestelmissäsi, voit yrittää muodostaa yhteyden ssh:n kautta vaihtoehdolla "-oHostKeyAlgorithms=-ssh-rsa").

Uusiin OpenSSH-algoritmeihin siirtymisen helpottamiseksi tulevassa julkaisussa UpdateHostKeys-asetus otetaan oletusarvoisesti käyttöön, mikä siirtää asiakkaat automaattisesti luotettavampiin algoritmeihin. Suositeltuja siirtoalgoritmeja ovat rsa-sha2-256/512, joka perustuu RFC8332 RSA SHA-2:een (tuettu OpenSSH 7.2:sta lähtien ja käytössä oletuksena), ssh-ed25519 (tuettu OpenSSH 6.5:stä lähtien) ja ecdsa-sha2-nistp256/384-pohjainen521/5656/5.7. RFCXNUMX ECDSA:ssa (tuettu OpenSSH XNUMX:stä lähtien).

Viimeisestä julkaisusta lähtien "ssh-rsa" ja "diffie-hellman-group14-sha1" on poistettu CASignatureAlgorithms-luettelosta, joka määrittelee algoritmit, jotka saavat allekirjoittaa uusia varmenteita digitaalisesti, koska SHA-1:n käyttö varmenteissa on lisäriski. Tästä johtuen hyökkääjällä on rajattomasti aikaa etsiä törmäystä olemassa olevaan varmenteeseen, kun taas isäntäavaimiin kohdistuvaa hyökkäystä rajoittaa yhteyden aikakatkaisu (LoginGraceTime).

Lähde: opennet.ru

Lisää kommentti