Libssh-də bufer daşması zəifliyi

C proqramlarına SSHv2 protokolu üçün müştəri və server dəstəyini əlavə etmək üçün nəzərdə tutulmuş, yenidən açma prosesini başlatarkən buferin daşmasına səbəb olan libssh kitabxanasında (CVE-2-2021) boşluq müəyyən edilmişdir (libssh3634 ilə qarışdırılmamalıdır). fərqli hashing alqoritmindən istifadə edən açar mübadiləsindən istifadə etməklə. Problem 0.9.6 buraxılışında həll olunub.

Problemin mahiyyəti ondan ibarətdir ki, açarın dəyişdirilməsi əməliyyatı ilkin istifadə olunan alqoritmdən fərqlənən cast ölçüsü ilə kriptoqrafik hashlardan istifadə etməyə imkan verir. Bu halda, libssh-də hash üçün yaddaş orijinal hash ölçüsünə əsasən ayrıldı və daha böyük heş ölçüsündən istifadə verilənlərin ayrılmış bufer sərhədindən kənara yazılmasına gətirib çıxarır. Yekun təhlükəsizlik metodu olaraq, dəstəklənən açar mübadiləsi üsullarının siyahısını yalnız eyni hash ölçüsünə malik alqoritmlərlə məhdudlaşdıra bilərsiniz. Məsələn, SHA256-ya bağlamaq üçün koda əlavə edə bilərsiniz: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nip");

Mənbə: opennet.ru

Добавить комментарий