bregusrwydd gorlif byffer yn libssh

Mae bregusrwydd (CVE-2-2) wedi'i nodi yn y llyfrgell libssh (na ddylid ei gymysgu Γ’ libssh2021), a ddyluniwyd i ychwanegu cefnogaeth cleient a gweinydd ar gyfer y protocol SSHv3634 i raglenni C, gan arwain at orlif byffer wrth gychwyn y broses rekey defnyddio'r cyfnewid allweddol sy'n defnyddio algorithm stwnsio gwahanol. Mae'r mater yn sefydlog yn natganiad 0.9.6.

Hanfod y broblem yw bod y gweithrediad newid allweddol yn caniatΓ‘u defnyddio hashes cryptograffig gyda maint cast sy'n wahanol i'r algorithm a ddefnyddiwyd yn wreiddiol. Yn yr achos hwn, dyrannwyd cof ar gyfer yr hash yn libssh yn seiliedig ar y maint hash gwreiddiol, ac mae defnyddio maint hash mwy yn arwain at drosysgrifo data y tu hwnt i'r ffin glustogi a ddyrannwyd. Fel dull diogelwch wrth gefn, gallwch gyfyngu'r rhestr o ddulliau cyfnewid allweddol a gefnogir i algorithmau gyda'r un maint hash yn unig. Er enghraifft, i rwymo i SHA256, gallwch ychwanegu at y cod: rc = ssh_options_set(s-> ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Ffynhonnell: opennet.ru

Ychwanegu sylw