Izdanje OpenSSH 8.3 s popravkom ranjivosti scp

Nakon tri mjeseca razvoja predstavio puštanje OpenSSH 8.3, otvorena klijentska i poslužiteljska implementacija za rad preko SSH 2.0 i SFTP protokola.

Novo izdanje dodaje zaštitu od scp napada koji dopuštaju poslužitelju da proslijedi imena datoteka koja nisu zatražena (za razliku od ranjivost iz prošlosti, napad ne omogućuje promjenu korisnički odabranog imenika ili glob maske). Podsjetimo se da u SCP-u poslužitelj odlučuje koje će datoteke i direktorije poslati klijentu, a klijent samo provjerava ispravnost vraćenih imena objekata. Bit identificiranog problema je da ako sistemski poziv utimes ne uspije, tada se sadržaj datoteke tumači kao metapodaci datoteke.

Ova se značajka, kada se povezuje s poslužiteljem kojim upravlja napadač, može koristiti za spremanje drugih naziva datoteka i drugog sadržaja u korisničkom FS-u prilikom kopiranja pomoću scp-a u konfiguracijama koje dovode do kvara pri pozivanju utimesa (na primjer, kada je utimes zabranjen od strane politika SELinuxa ili filter poziva sustava). Procjenjuje se da je vjerojatnost pravih napada minimalna, jer u tipičnim konfiguracijama utimes poziv ne pada. Osim toga, napad ne prolazi nezapaženo - prilikom pozivanja scp-a prikazuje se pogreška prijenosa podataka.

Opće promjene:

  • U sftp-u, obrada argumenta “-1” je zaustavljena, slično ssh i scp, koji je prethodno bio prihvaćen, ali zanemaren;
  • U sshd-u, kada koristite IgnoreRhosts, sada postoje tri izbora: "yes" - ignorirajte rhosts/shosts, "no" - poštujte rhosts/shosts i "shosts-only" - dopustite ".shosts" ali onemogućite ".rhosts";
  • Ssh sada podržava zamjenu %TOKEN u postavkama LocalFoward i RemoteForward koje se koriste za preusmjeravanje Unix utičnica;
  • Dopusti učitavanje javnih ključeva iz nešifrirane datoteke s privatnim ključem ako ne postoji posebna datoteka s javnim ključem;
  • Ako je libcrypto dostupan u sustavu, ssh i sshd sada koriste implementaciju algoritma chacha20 iz ove knjižnice, umjesto ugrađene prijenosne implementacije, koja zaostaje u izvedbi;
  • Implementirana je mogućnost izbacivanja sadržaja binarnog popisa opozvanih certifikata prilikom izvršavanja naredbe “ssh-keygen -lQf /path”;
  • Prijenosna verzija implementira definicije sustava u kojima signali s opcijom SA_RESTART prekidaju rad select;
  • Riješeni problemi s asemblerom na HP/UX i AIX sustavima;
  • Riješeni problemi s izgradnjom seccomp sandboxa na nekim konfiguracijama Linuxa;
  • Poboljšano otkrivanje knjižnice libfido2 i riješeni problemi izgradnje s opcijom "--with-security-key-builtin".

Programeri OpenSSH također su još jednom upozorili na predstojeću dekompoziciju algoritama koji koriste SHA-1 hashove zbog promocija učinkovitost napada sudara s danim prefiksom (trošak odabira sudara procjenjuje se na približno 45 tisuća dolara). U jednom od nadolazećih izdanja planiraju prema zadanim postavkama onemogućiti mogućnost korištenja algoritma digitalnog potpisa javnog ključa "ssh-rsa", koji se spominje u izvornom RFC-u za SSH protokol i ostaje široko rasprostranjen u praksi (za testiranje upotrebe ssh-rsa u vašim sustavima, možete se pokušati povezati putem ssh s opcijom “-oHostKeyAlgorithms=-ssh-rsa”).

Kako bi se olakšao prijelaz na nove algoritme u OpenSSH, u budućem izdanju postavka UpdateHostKeys bit će omogućena prema zadanim postavkama, što će automatski migrirati klijente na pouzdanije algoritme. Preporučeni algoritmi za migraciju uključuju rsa-sha2-256/512 temeljen na RFC8332 RSA SHA-2 (podržan od OpenSSH 7.2 i koristi se prema zadanim postavkama), ssh-ed25519 (podržan od OpenSSH 6.5) i ecdsa-sha2-nistp256/384/521 temeljen na RFC5656 ECDSA (podržano od OpenSSH 5.7).

Od zadnjeg izdanja, "ssh-rsa" i "diffie-hellman-group14-sha1" uklonjeni su s popisa CASignatureAlgorithms koji definira algoritme dopuštene za digitalno potpisivanje novih certifikata, budući da korištenje SHA-1 u certifikatima predstavlja dodatni rizik zbog toga napadač ima neograničeno vrijeme za traženje kolizije za postojeći certifikat, dok je vrijeme napada na ključeve hosta ograničeno timeoutom veze (LoginGraceTime).

Izvor: opennet.ru

Dodajte komentar