Në PuTTY, një klient për protokollin SSH, i njohur në platformën Windows, është zbuluar një vunerabilitet i rrezikshëm (CVE-2024-31497) që lejon rikrijimin e çelësit privat të përdoruesit, i gjeneruar duke përdorur algoritmin ECDSA me kurbën eliptike NIST P-521 (ecdsa-sha2-nistp521). Për të gjetur çelësin privat, mjafton të analizohet rreth 60 nënshkrime digjitale të formuara nga ky çelës problematik.
Vulnerabiliteti shfaqet qĂ« nga versioni PuTTY 0.68 dhe ka prekur gjithashtu produkte tĂ« cilat pĂ«rmbajnĂ« versione vunerabile tĂ« PuTTY, si p.sh., FileZilla (3.24.1 â 3.66.5), WinSCP (5.9.5 â 6.3.2), TortoiseGit (2.4.0.2 â 2.15.0) dhe TortoiseSVN (1.10.0 â 1.14.6). Problemi Ă«shtĂ« zgjidhur nĂ« update-t e PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 dhe TortoiseGit 2.15.0. Pasi tĂ« instalohet pĂ«rditĂ«simi, pĂ«rdoruesve u rekomandohet tĂ« gjenerojnĂ« çelĂ«sa tĂ« rinj dhe tĂ« fshijnĂ« çelĂ«t e vjetĂ«r publikĂ« nga skedarĂ«t authorized_keys.
Vulnerabiliteti është shkaktuar nga pakujdesia e zhvilluesve, të cilët për gjenerimin e një çelësi 521-bit i kanë përdorur një vektor inicializimi (nonce) të bazuar në një sekuencë rastësore 512-bit, duke menduar ndoshta se 512 bit do të mjaftonin dhe 9 bit e mbetur nuk kanë rëndësi thelbësore. Si rezultat, në të gjithë çelësat privatë të krijuar në PuTTY duke përdorur algoritmin ecdsa-sha2-nistp521, 9 bit e parë të vektorit të inicializimit gjithmonë merrnin vlera zero.
Për ECDSA dhe DSA, cilësia e gjeneruesit të numrave të rastësishëm dhe mbulimi i plotë i të dhënave të rastësishme të parametrave të përdorur gjatë llogaritjes së modulit ka rëndësi thelbësore, pasi përcaktimi i madje disa bitëve me informacion mbi vektorin e inicializimit mjafton për të realizuar një sulm të përseritur për rikuperimin e të gjithë çelësit privat. Për rikuperimin e suksesshëm të çelësit, mjafton të kihet çelësi publik dhe analiza e disa dhjetëra nënshkrimeve digjitale të gjeneruara me çelësin problematik për të dhënat që janë të njohura për sulmuesin. Sulmi reduktohet në zgjidhjen e problemit HNP (Hidden Number Problem).
Nënshkrimet e nevojshme mund të merren, për shembull, duke i lidhur përdoruesit në një server SSH të sulmuesit ose në një server Git që përdor SSH si transport. Nënshkrimet e nevojshme për sulmin gjithashtu mund të njihen nëse çelësi është përdorur për të nënshkruar të dhëna të rastësishme, p.sh., komitetet git kur përdoret agjenti SSH Pageant për të redirigjuar trafik në host-in e zhvilluesit. Marrja e të dhënave të nevojshme për rikuperimin e çelësit gjatë një sulmi MITM është e pamundur, pasi nënshkrimet në SSH nuk dërgohen në formë të hapur.
Vlen tĂ« pĂ«rmendet se njĂ« pĂ«rdorim i ngjashĂ«m i vektorĂ«ve tĂ« inicializimit tĂ« paplotĂ« Ă«shtĂ« pĂ«rdorur nĂ« PuTTY edhe pĂ«r lloje tĂ« tjera tĂ« kurbave eliptike, por pĂ«r algoritmet qĂ« janĂ« tĂ« ndryshme nga ECDSA P-521, informacioni i nxjerrur nuk Ă«shtĂ« mjaftueshĂ«m pĂ«r tĂ« realizuar njĂ« sulm tĂ« suksesshĂ«m pĂ«r rikuperimin e çelĂ«sit. ĂelĂ«sat ECDSA tĂ« madhĂ«sive tĂ« tjera dhe çelĂ«sat Ed25519 nuk janĂ« tĂ« prekshĂ«m nga ky sulm.
Burimi: opennet.ru
