Bufera pārpildes ievainojamība programmā libssh

Libssh bibliotēkā (nejaukt ar libssh2) ir konstatēta ievainojamība (CVE-2-2021), kas paredzēta, lai C programmām pievienotu klienta un servera atbalstu SSHv3634 protokolam, kas izraisa bufera pārpildīšanu, uzsākot atkārtotas atslēgas procesu. izmantojot atslēgu apmaiņu, kas izmanto citu jaukšanas algoritmu. Problēma ir novērsta laidienā 0.9.6.

Problēmas būtība ir tāda, ka atslēgas maiņas operācija ļauj izmantot kriptogrāfijas jaucējus ar cast lielumu, kas atšķiras no sākotnēji izmantotā algoritma. Šajā gadījumā libssh jaucējatmiņa tika piešķirta, pamatojoties uz sākotnējo jaucējfaila lielumu, un, izmantojot lielāku jaucējvērtību, dati tiek pārrakstīti ārpus piešķirtās bufera robežas. Kā rezerves drošības metodi varat ierobežot atbalstīto atslēgu apmaiņas metožu sarakstu, iekļaujot tikai algoritmus ar tādu pašu jaucējvērtību. Piemēram, lai izveidotu saiti ar SHA256, kodam varat pievienot: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2,ecdh";

Avots: opennet.ru

Pievieno komentāru