Alexander Pyhalov
2016-10-19 d522f1b4b045540918568184a56e02f86c323cb2
OpenSSH: fix possible DoS
1 files added
2 files modified
31 ■■■■■ changed files
components/network/openssh/Makefile 2 ●●● patch | view | raw | blame | history
components/network/openssh/README 2 ●●●●● patch | view | raw | blame | history
components/network/openssh/patches/0101-unregister-kexinit-handler.patch 27 ●●●●● patch | view | raw | blame | history
components/network/openssh/Makefile
@@ -26,7 +26,7 @@
COMPONENT_VERSION=    7.2p2
HUMAN_VERSION=        $(COMPONENT_VERSION)
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_REVISION=    2
COMPONENT_REVISION=    3
# Version for IPS.  The encoding rules are:
#   OpenSSH <x>.<y>p<n>     => IPS <x>.<y>.0.<n>
components/network/openssh/README
@@ -10,3 +10,5 @@
The following patches were modified to apply without patches which we don't use
    0029-Set-default-sshd-options-based-on-etc-default-login.patch
    1001-dtrace32.patch
The following is a patch from openssh-portable head
    0101-unregister-kexinit-handler.patch
components/network/openssh/patches/0101-unregister-kexinit-handler.patch
New file
@@ -0,0 +1,27 @@
From ec165c392ca54317dbe3064a8c200de6531e89ad Mon Sep 17 00:00:00 2001
From: "markus@openbsd.org" <markus@openbsd.org>
Date: Mon, 10 Oct 2016 19:28:48 +0000
Subject: [PATCH] upstream commit
Unregister the KEXINIT handler after message has been
received. Otherwise an unauthenticated peer can repeat the KEXINIT and cause
allocation of up to 128MB -- until the connection is closed. Reported by
shilei-c at 360.cn
Upstream-ID: 43649ae12a27ef94290db16d1a98294588b75c05
---
 kex.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kex.c b/kex.c
index 3f97f8c..6a94bc5 100644
--- a/kex.c
+++ b/kex.c
@@ -477,6 +477,7 @@
     if (kex == NULL)
         return SSH_ERR_INVALID_ARGUMENT;
+    ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL);
     ptr = sshpkt_ptr(ssh, &dlen);
     if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0)
         return r;