From 3fdad451afcc16b1fa94024310b4d26333ca7de9 Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Sat, 17 Sep 2016 21:09:43 -0700 Subject: openssh: Security fix CVE-2016-5615 openssh < 7.3 Signed-off-by: Armin Kuster --- .../openssh/openssh/CVE-2016-6515.patch | 54 ++++++++++++++++++++++ meta/recipes-connectivity/openssh/openssh_7.1p2.bb | 1 + 2 files changed, 55 insertions(+) create mode 100644 meta/recipes-connectivity/openssh/openssh/CVE-2016-6515.patch diff --git a/meta/recipes-connectivity/openssh/openssh/CVE-2016-6515.patch b/meta/recipes-connectivity/openssh/openssh/CVE-2016-6515.patch new file mode 100644 index 0000000000..c721902595 --- /dev/null +++ b/meta/recipes-connectivity/openssh/openssh/CVE-2016-6515.patch @@ -0,0 +1,54 @@ +From fcd135c9df440bcd2d5870405ad3311743d78d97 Mon Sep 17 00:00:00 2001 +From: "dtucker@openbsd.org" +Date: Thu, 21 Jul 2016 01:39:35 +0000 +Subject: [PATCH] upstream commit + +Skip passwords longer than 1k in length so clients can't +easily DoS sshd by sending very long passwords, causing it to spend CPU +hashing them. feedback djm@, ok markus@. + +Brought to our attention by tomas.kuthan at oracle.com, shilei-c at +360.cn and coredump at autistici.org + +Upstream-ID: d0af7d4a2190b63ba1d38eec502bc4be0be9e333 + +Upstream-Status: Backport +CVE: CVE-2016-6515 +Signed-off-by: Armin Kuster + +--- + auth-passwd.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/auth-passwd.c b/auth-passwd.c +index 530b5d4..996c2cf 100644 +--- a/auth-passwd.c ++++ b/auth-passwd.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: auth-passwd.c,v 1.44 2014/07/15 15:54:14 millert Exp $ */ ++/* $OpenBSD: auth-passwd.c,v 1.45 2016/07/21 01:39:35 dtucker Exp $ */ + /* + * Author: Tatu Ylonen + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland +@@ -66,6 +66,8 @@ extern login_cap_t *lc; + #define DAY (24L * 60 * 60) /* 1 day in seconds */ + #define TWO_WEEKS (2L * 7 * DAY) /* 2 weeks in seconds */ + ++#define MAX_PASSWORD_LEN 1024 ++ + void + disable_forwarding(void) + { +@@ -87,6 +89,9 @@ auth_password(Authctxt *authctxt, const char *password) + static int expire_checked = 0; + #endif + ++ if (strlen(password) > MAX_PASSWORD_LEN) ++ return 0; ++ + #ifndef HAVE_CYGWIN + if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES) + ok = 0; +-- +2.7.4 + diff --git a/meta/recipes-connectivity/openssh/openssh_7.1p2.bb b/meta/recipes-connectivity/openssh/openssh_7.1p2.bb index bd047b0773..51c82c74a3 100644 --- a/meta/recipes-connectivity/openssh/openssh_7.1p2.bb +++ b/meta/recipes-connectivity/openssh/openssh_7.1p2.bb @@ -28,6 +28,7 @@ SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar. file://CVE-2016-6210.patch \ file://CVE-2016-6210_p2.patch \ file://CVE-2016-6210_p3.patch \ + file://CVE-2016-6515.patch \ " PAM_SRC_URI = "file://sshd" -- cgit 1.2.3-korg