Libssh-da buferning to'lib ketishi zaifligi

C dasturlariga SSHv2 protokoli uchun mijoz va server yordamini qo'shish uchun mo'ljallangan libssh kutubxonasida (CVE-2-2021) zaiflik aniqlandi (libssh3634 bilan adashtirmaslik kerak), bu qayta kiritish jarayonini boshlashda bufer to'lib ketishiga olib keladi. boshqa xeshlash algoritmidan foydalanadigan kalit almashinuvidan foydalanish. Muammo 0.9.6 versiyasida tuzatilgan.

Muammoning mohiyati shundan iboratki, kalitni o'zgartirish operatsiyasi dastlab ishlatilgan algoritmdan farq qiladigan cast hajmiga ega kriptografik xeshlardan foydalanishga imkon beradi. Bunday holda, libssh-dagi xesh uchun xotira asl xesh hajmiga qarab ajratilgan va kattaroq xesh hajmidan foydalanish ma'lumotlar ajratilgan bufer chegarasidan tashqariga yozilishiga olib keladi. Qo'shimcha xavfsizlik usuli sifatida siz qo'llab-quvvatlanadigan kalit almashish usullari ro'yxatini faqat bir xil xesh hajmiga ega algoritmlar bilan cheklashingiz mumkin. Masalan, SHA256 ga ulanish uchun siz kodga qo'shishingiz mumkin: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nip");

Manba: opennet.ru

a Izoh qo'shish