Buferio perpildymo pažeidžiamumas libssh

Pažeidžiamumas (CVE-2-2) buvo aptiktas libssh bibliotekoje (nepainioti su libssh2021), skirta SSHv3634 protokolo kliento ir serverio palaikymui C programoms pridėti, todėl pradėjus pakartotinio rakto procesą atsiranda buferio perpildymas. naudojant raktų mainus, kurie naudoja skirtingą maišos algoritmą. Problema išspręsta 0.9.6 versijoje.

Problemos esmė ta, kad rakto keitimo operacija leidžia naudoti kriptografines maišas, kurių išmetimo dydis skiriasi nuo iš pradžių naudoto algoritmo. Šiuo atveju libssh maišos atmintis buvo paskirstyta pagal pradinį maišos dydį, o naudojant didesnį maišos dydį, duomenys perrašomi už paskirtos buferio ribos. Kaip atsarginį saugos metodą galite apriboti palaikomų raktų keitimo metodų sąrašą ir įtraukti tik algoritmus, kurių maišos dydis yra toks pat. Pavyzdžiui, norėdami susieti su SHA256, prie kodo galite pridėti: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh"-sha2,ecdh-sps);

Šaltinis: opennet.ru

Добавить комментарий