Ranljivost prekoračitve medpomnilnika v libssh

Ranljivost (CVE-2-2) je bila ugotovljena v knjižnici libssh (ne zamenjujte je z libssh2021), zasnovana za dodajanje podpore za odjemalce in strežnike za protokol SSHv3634 v programe C, kar vodi do prelivanja medpomnilnika ob sprožitvi postopka ponovnega ključa z uporabo izmenjave ključev, ki uporablja drugačen algoritem zgoščevanja. Težava je odpravljena v izdaji 0.9.6.

Bistvo problema je v tem, da operacija spremembe ključa omogoča uporabo kriptografskih zgoščenk z velikostjo zaliva, ki se razlikuje od prvotno uporabljenega algoritma. V tem primeru je bil pomnilnik za zgoščeno vrednost v libssh dodeljen na podlagi prvotne velikosti zgoščene vrednosti, uporaba večje velikosti zgoščene vrednosti pa povzroči, da se podatki prepišejo onkraj dodeljene meje medpomnilnika. Kot rezervno varnostno metodo lahko omejite seznam podprtih metod izmenjave ključev samo na algoritme z enako velikostjo zgoščene vrednosti. Na primer, da se povežete s SHA256, lahko kodi dodate: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Vir: opennet.ru

Dodaj komentar