Russh — это клиентская и серверная библиотека Rust SSH. Начиная с версии 0.34.0 и до версии 0.61.0, несколько обработчиков сообщений клиентов и серверов russh декодировали контролируемые злоумышленником строки SSH, списки имен и байтовые поля в принадлежащие им распределения перед применением границ для конкретных полей. Удаленный одноранговый узел SSH может отправлять поля слишком большого размера, с большим количеством разветвлений или неправильно сформированные поля с префиксом длины и заставлять библиотеку выделять, пытаться выделять или разделять данные, прежде чем отклонять ввод, который должен был быть отклонен ранее.
Эта проблема исправлена в версии 0.61.0.
Показать оригинальное описание (EN)
Russh is a Rust SSH client & server library. From version 0.34.0 to before version 0.61.0, several russh client and server message handlers decoded attacker-controlled SSH strings, name-lists, and byte fields into owned allocations before applying field-specific bounds. A remote SSH peer could send oversized, high-fanout, or malformed length-prefixed fields and make the library allocate, attempt to allocate, or split data before rejecting input that should have been rejected earlier. This issue has been patched in version 0.61.0.
Характеристики атаки
Последствия
Строка CVSS v3.1