FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

libssh -- possible heap-buffer overflow vulnerability

Affected packages
0.9.1 <= libssh <= 0.9.5

Details

VuXML ID 57b1ee25-1a7c-11ec-9376-0800272221cc
Discovery 2021-08-26
Entry 2021-09-21

libssh security advisories:

The SSH protocol keeps track of two shared secrets during the lifetime of the session. One of them is called `secret_hash` and and the other `session_id`. Initially, both of them are the same, but after key re-exchange, previous `session_id` is kept and used as an input to new `secret_hash`.

Historically, both of these buffers had shared length variable, which worked as long as these buffers were same. But the key re-exchange operation can also change the key exchange method, which can be based on hash of different size, eventually creating `secret_hash` of different size than the `session_id` has.

This becomes an issue when the `session_id` memory is zeroized or when it is used again during second key re-exchange.

References

CVE Name CVE-2021-3634
URL https://www.libssh.org/2021/08/26/libssh-0-9-6-security-release/
URL https://www.libssh.org/security/advisories/CVE-2021-3634.txt