Vulnerabiliteet libssh, mis põhjustab puhvripuhangut

Libssh teegiduses (mitte segi ajada libssh2-ga), mis on mõeldud SSHv2 protokolli kliendi ja serveri toe lisamiseks C keeltesse, on tuvastatud haavatavus (CVE-2021-3634), mis viib puhverülevooluni võtmevahetusprotsessi (rekey) käivitamisel, kui kasutatakse võtmevahetuse mehhanismi, mis rakendab teist hash-algoritmi. Probleem on lahendatud versioonis 0.9.6.

Probleemi tuum on see, et võtmevahetusoperatsioon lubab kasutada krüptograafilisi hajusid, mille maht erineb algselt kasutatud algoritmist. Sel juhul eraldati libssh-s hajule mälu algse hajusuuruse põhjal, mis tähendab, et suurema hajusuuruse kasutamine toob kaasa andmete ülekirjutamise eraldatud puhvrist väljapoole. Varumeetodina võib piirata toetatud võtmevahetusmeetodite loetelu ainult algoritmidega, millel on sama hajusuurus. Näiteks SHA256 sidumise jaoks võib koodi lisada: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster