В версиях libssh2–1.11.1, исправленных в коммите a2ed82d, содержится уязвимость потери целочисленного значения перед аутентификацией в функции ssh2_cipher_crypt() в src/openssl.c, которая позволяет вредоносному SSH-серверу аварийно завершать работу любого подключающегося клиента путем согласования шифров AES-GCM во время рукопожатия. Злоумышленники могут воспользоваться недостатком выражения в вычислении размера блока минус aadlen минус длина тега аутентификации, чтобы инициировать чтение за пределами границ и вызов memcpy с аргументом длины, близким к SIZE_MAX, что приводит к немедленному сбою процесса до того, как произойдет какая-либо аутентификация.
Показать оригинальное описание (EN)
libssh2 through 1.11.1, fixed in commit a2ed82d, contains a pre-authentication integer underflow vulnerability in the ssh2_cipher_crypt() function in src/openssl.c that allows a malicious SSH server to crash any connecting client by negotiating AES-GCM ciphers during handshake. Attackers can exploit the underflow in the expression computing blocksize minus aadlen minus authentication tag length to trigger an out-of-bounds read and a memcpy call with a near-SIZE_MAX length argument, causing immediate process crash before any authentication occurs.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Libssh2 Libssh2
cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*
|
— |
<= 1.11.1
|