Ang buffer overflow na kahinaan sa libssh

Natukoy ang isang kahinaan (CVE-2-2) sa libssh library (hindi dapat ipagkamali sa libssh2021), na idinisenyo upang magdagdag ng suporta sa kliyente at server para sa SSHv3634 protocol sa mga C program, na humahantong sa isang buffer overflow kapag sinimulan ang proseso ng rekey gamit ang key exchange na gumagamit ng ibang algorithm ng hashing. Ang isyu ay naayos sa release 0.9.6.

Ang kakanyahan ng problema ay ang pagpapatakbo ng pangunahing pagbabago ay nagbibigay-daan sa paggamit ng mga cryptographic na hash na may laki ng cast na naiiba sa orihinal na ginamit na algorithm. Kasabay nito, ang memorya para sa hash sa libssh ay inilalaan batay sa orihinal na laki ng hash, at ang paggamit ng mas malaking laki ng hash ay humahantong sa data na ma-overwrite na lampas sa inilalaan na hangganan ng buffer. Bilang isang fallback na paraan ng seguridad, maaari mong limitahan ang listahan ng mga sinusuportahang paraan ng pagpapalitan ng key sa mga algorithm lamang na may parehong laki ng hash. Halimbawa, upang mag-bind sa SHA256, maaari kang magdagdag sa code: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Pinagmulan: opennet.ru

Magdagdag ng komento