Sebezhetőség a libssh-ban, amely puffertúlcsordulást okoz

A libssh könyvtárban (ne keverjük össze a libssh2-t), amely a SSHv2 protokoll kliens és szerver támogatásának hozzáadására készült C nyelvű programokhoz, egy CVE-2021-3634 azonosítójú sebezhetőséget fedeztek fel, amely puffertúlcsorduláshoz vezet a kulcsok cseréjének (rekey) kezdeményezésekor, amikor egy másik hash algoritmust alkalmazó kulcscsere mechanizmust használnak. A probléma a 0.9.6-es verzióban lett kijavítva.

A probléma lényege, hogy a kulcsok cseréjének művelete lehetővé teszi olyan kriptográfiai hash-ek alkalmazását, amelyek tömörítési mérete eltér az eredetileg használt algoritmustól. Ennek következtében a libssh-ban a hash-hez szükséges memória az eredeti hash mérete alapján lett lefoglalva, és ha nagyobb méretű hash-t használnak, az adatokat a lefoglalt puffer határain túl írják felül. Mint védelmi módszert lehetőség van a támogatott kulcscsere algoritmusok listáját korlátozni kizárólag az azonos méretű hash algoritmusokra. Például a SHA256-ra való hivatkozás esetén a kódhoz hozzáadhatunk: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster