Libssh'ta arabellek taşması güvenlik açığı

Libssh kitaplığında (libssh2 ile karıştırılmamalıdır), C programlarına SSHv2 protokolü için istemci ve sunucu desteği eklemek üzere tasarlanmış ve yeniden anahtarlama işlemi başlatılırken arabellek taşmasına neden olan bir güvenlik açığı (CVE-2021-3634) belirlendi. farklı bir karma algoritması kullanan anahtar değişimini kullanarak. Sorun 0.9.6 sürümünde düzeltildi.

Sorunun özü, anahtar değiştirme işleminin, orijinal olarak kullanılan algoritmadan farklı bir dönüşüm boyutuna sahip kriptografik karmaların kullanımına izin vermesidir. Aynı zamanda, libssh'teki karma için bellek, orijinal karma boyutuna göre tahsis edildi ve daha büyük bir karma boyutunun kullanılması, tahsis edilen arabellek sınırının ötesinde verilerin üzerine yazılmasına yol açar. Bir geri dönüş güvenlik yöntemi olarak, desteklenen anahtar değişim yöntemlerinin listesini yalnızca aynı karma boyutuna sahip algoritmalarla sınırlandırabilirsiniz. Örneğin, SHA256'ya bağlanmak için koda şunu ekleyebilirsiniz: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Kaynak: opennet.ru

Yorum ekle