How did a bug like the recent libssh vulnerability come to exist? Exactly what is the nature and root cause of the bug?
From libssh's website:
libssh versions 0.6 and above have an authentication bypass vulnerability in the server code. By presenting the server an SSH2_MSG_USERAUTH_SUCCESS message in place of the SSH2_MSG_USERAUTH_REQUEST message which the server would expect to initiate authentication, the attacker could successfully authentciate (sic) without any credentials.
To me, this just raises more questions to me: why would the server trust anything from the client? Why does
SSH2_MSG_USERAUTH_SUCCESS even exist at all? Is it part of the ssh protocol?