Në klientët SSH OpenSSH dhe PuTTY ( në PuTTY dhe në OpenSSH), që çon në rrjedhjen e të dhënave në algoritmin e negociatës së lidhjes. Kjo vulnerabilitet lejon një sulmues, i cili është në gjendje të kapë trafikun e klientit (p.sh., kur një përdorues lidhet përmes një pike të kontrolluar nga sulmuesi), të identifikojë përpjekjen e lidhjes fillestare të klientit me host-in, kur çelësi i host-it ende nuk është ruajtur në cache nga klienti.
Duke e ditur se klienti po përpiqet të lidhet për herë të parë dhe ende nuk ka çelësin e hostit në anën e tij, një sulmues mund të transmetojë lidhjen nëpër vetë (MITM) dhe t'i japë klientit çelësin e tij të hostit, të cilin klienti SSH do ta marrë si çelësin e hostit të synuar, nëse nuk verifikon fingerprint-in e çelësit. Kështu, sulmuesi mund të organizojë një MITM pa e ngritur dyshimin e përdoruesit dhe të injorojë seancat, në të cilat në anën e klientit tashmë ka çelësa hostesh të ruajtur, përpjekja për të ndryshuar të cilat do të shkaktojë një paralajmërim për ndryshimin e çelësit të hostit. Sulmi bazohet në pakujdesinë e përdoruesve, të cilët nuk realizojnë një kontrolle manuale të fingerprint-it të çelësit të hostit gjatë lidhjes së parë. Ata që kontrollojnë fingerprint-et e çelësave janë të mbrojtur nga sulme të tillë.
Si një tregues për të përcaktuar përpjekjen e parë për lidhje, përdoret ndryshimi i rendit të listës së algoritmeve të çelësave të hostit të mbështetur. Nëse ndodh lidhja e parë, klienti dërgon një listë algoritmesh sipas parazgjedhjes, dhe nëse çelësi i hostit është tashmë në cache, algoritmi i lidhur me të vendoset në vendin e parë (algoritmet renditen sipas preferencës).
Problemi shfaqet në versionet e OpenSSH nga 5.7 deri në 8.3 dhe në PuTTY nga 0.68 deri në 0.73. Problemi në publikimin nëpërmjet shtimit të një opsioni për të çaktivizuar ndërtimin dinamik të listës së algoritmeve për përpunimin e çelësave të hostit në favor të renditjes së algoritmeve në një rend të vazhdueshëm.
Projekti OpenSSH nuk planifikon tĂ« ndryshojĂ« sjelljen e klientit SSH, pasi nĂ«se algoritmi i çelĂ«sit ekzistues nuk specifikohet fillimisht, do tĂ« tentojĂ« tĂ« aplikojĂ« njĂ« algoritĂ«m tĂ« papĂ«rshtatshĂ«m me çelĂ«sin e ruajtur, duke shkaktuar njĂ« paralajmĂ«rim pĂ«r çelĂ«sin e panjohur. KĂ«shtu, krijohet njĂ« zgjedhje â ose rrjedhje informacioni (OpenSSH dhe PuTTY), ose paraqitja e paralajmĂ«rimeve pĂ«r ndryshimin e çelĂ«sit (Dropbear SSH) nĂ« rast se çelĂ«si i ruajtur nuk pĂ«rputhet me algoritmin e parĂ« nĂ« listĂ«n e parazgjedhur.
Për sigurimin e mbrojtjes në OpenSSH, është e rekomanduar të përdoren mënyra alternative për verifikimin e çelësit të hostit përmes shënimeve SSHFP në DNSSEC dhe certifikata të hostit (PKI). Gjithashtu, mund të çaktivizohet zgjedhja adaptuese e algoritmeve të çelësave të hostit përmes opsionit HostKeyAlgorithms dhe të përdoret opsioni UpdateHostKeys për të marrë çelësa të tjerë hosti nga klienti pas autentikimit.
Burimi: opennet.ru
