First published: Tue Oct 28 2014(Updated: )
Description of problem: Maybe it is possible to send a malicious kexinit package to eventually cause a server to a double-free. I guess this is only a DoS. Source code: <a href="http://git.libssh.org/projects/libssh.git/">http://git.libssh.org/projects/libssh.git/</a> Patch: From f6b9f851b962e3a587f3f99b7cb97d130f0c77b9 Mon Sep 17 00:00:00 2001 From: Jon Simons <jon> Date: Sat, 18 Oct 2014 23:23:26 -0700 Subject: [PATCH] kex: fixup error path in ssh_packet_kexinit Before this change, dangling pointers can be unintentionally left in the respective next_crypto kex methods slots. Ensure to set all slots to NULL in the error-out path. Signed-off-by: Jon Simons <jon> --- src/kex.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/kex.c b/src/kex.c index f1a1b56..ee00ec3 100644 --- a/src/kex.c +++ b/src/kex.c @@ -443,6 +443,11 @@ SSH_PACKET_CALLBACK(ssh_packet_kexinit){ error: ssh_string_free(str); for (i = 0; i < SSH_KEX_METHODS; i++) { + if (server_kex) { + session->next_crypto->client_kex.methods[i] = NULL; + } else { /* client */ + session->next_crypto->server_kex.methods[i] = NULL; + } SAFE_FREE(strings[i]); } -- 1.9.1
Credit: secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
Libssh Libssh | =0.5.0 | |
Libssh Libssh | =0.5.2 | |
Libssh Libssh | =0.5.3 | |
Libssh Libssh | =0.5.4 | |
Libssh Libssh | =0.5.5 | |
Libssh Libssh | =0.6.0 | |
Libssh Libssh | =0.6.1 | |
Libssh Libssh | =0.6.2 | |
Libssh Libssh | =0.6.3 | |
Debian Debian Linux | =7.0 | |
Debian Debian Linux | =8.0 | |
openSUSE openSUSE | =12.3 | |
openSUSE openSUSE | =13.1 | |
openSUSE openSUSE | =13.2 | |
Fedoraproject Fedora | =19 | |
Fedoraproject Fedora | =20 | |
Fedoraproject Fedora | =21 | |
Canonical Ubuntu Linux | =12.04 | |
Canonical Ubuntu Linux | =14.04 | |
Canonical Ubuntu Linux | =14.10 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.