Ранливост на прелевање на баферот во libssh

Идентификувана е ранливост (CVE-2-2) во библиотеката libssh (да не се меша со libssh2021), дизајнирана да додаде поддршка за клиентот и серверот за протоколот SSHv3634 во програмите C, што доведува до прелевање на баферот при иницирање на процесот на повторно клучување користење на размена на клучеви што користи различен алгоритам за хеширање. Проблемот е поправен во изданието 0.9.6.

Суштината на проблемот е во тоа што операцијата за промена на клучот овозможува користење на криптографски хашови со каст големина што се разликува од првично користениот алгоритам. Во овој случај, меморијата за хашот во libssh беше доделена врз основа на оригиналната големина на хашот, а користењето на поголема големина на хаш доведува до препишување на податоците надвор од доделената граница на баферот. Како резервен безбедносен метод, можете да ја ограничите листата на поддржани методи за размена на клучеви само на алгоритми со иста големина на хаш. На пример, за да се поврзете со SHA256, можете да додадете во кодот: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nist");

Извор: opennet.ru

Додадете коментар