В версиях с libssh2 по 1.11.1 список открытых ключей увеличивается с помощью SSH2_REAALLOC, но не инициализируется нулями новые записи до того, как синтаксический анализ заполнит их, поэтому ошибка анализа, достигающая пути очистки, приводит к тому, что libssh2_publickey_list_free работает с неинициализированной записью. Вредоносный SSH-сервер, предлагающий подсистему открытых ключей, может использовать неверный ответ, чтобы освободить неинициализированный указатель attrs, на который может повлиять злоумышленник, в подключающемся клиенте libssh2.
Показать оригинальное описание (EN)
libssh2 through 1.11.1 grows its publickey list with SSH2_REALLOC but does not zero-initialize new entries before parsing populates them, so a parse failure reaching the cleanup path leaves libssh2_publickey_list_free operating on an uninitialized entry. A malicious SSH server offering the publickey subsystem can use a malformed response to make cleanup free an uninitialized, attacker-influenceable attrs pointer in a connecting libssh2 client.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Libssh2 Libssh2
cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*
|
— |
<= 1.11.1
|