Description
libssh2 through 1.11.1, fixed in commit 1762685, contains a pre-authentication denial of service vulnerability in the SSH_MSG_EXT_INFO handler in src/packet.c that allows a malicious SSH server to cause a client CPU exhaustion loop by sending a crafted extension count value. A malicious server can set nr_extensions to 0xFFFFFFFF during key exchange, causing the client to spin in a tight CPU loop for over 60 seconds because return values from _libssh2_get_string() are unchecked and the session timeout does not apply to CPU-bound loops.
Problem types
Loop with Unreachable Exit Condition ('Infinite Loop')
Product status
Any version
17626857d20b3c9a1addfa45979dadcee1cd84a4 (git)
Credits
Tristan Madani (@TristanInSec)
References
github.com/libssh2/libssh2/pull/1864 (Pull Request)
github.com/...ommit/17626857d20b3c9a1addfa45979dadcee1cd84a4 (Patch Commit)
www.vulncheck.com/...cation-dos-via-ssh-msg-ext-info-handler