]> code.ossystems Code Review - openembedded-core.git/commitdiff
openssh: fix CVE-2010-5107
authorRoss Burton <ross.burton@intel.com>
Mon, 29 Apr 2013 14:05:23 +0000 (15:05 +0100)
committerRoss Burton <ross.burton@intel.com>
Mon, 29 Apr 2013 14:05:23 +0000 (15:05 +0100)
From http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5107:
"The default configuration of OpenSSH through 6.1 enforces a fixed time limit
between establishing a TCP connection and completing a login, which makes it
easier for remote attackers to cause a denial of service (connection-slot
exhaustion) by periodically making many new TCP connections."

Integrate patches from upstream to enable "random early drop" by default./

Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-connectivity/openssh/openssh-6.0p1/cve-2010-5107.patch [new file with mode: 0644]
meta/recipes-connectivity/openssh/openssh_6.0p1.bb

diff --git a/meta/recipes-connectivity/openssh/openssh-6.0p1/cve-2010-5107.patch b/meta/recipes-connectivity/openssh/openssh-6.0p1/cve-2010-5107.patch
new file mode 100644 (file)
index 0000000..148dc51
--- /dev/null
@@ -0,0 +1,50 @@
+Fix CVE-2010-5107 by backporting the relevant changes from upstream CVS.
+
+http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/servconf.c?r1=1.234#rev1.234
+http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd_config.5?r1=1.156#rev1.156
+http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd_config?r1=1.89#rev1.89
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+--- a/src/usr.bin/ssh/sshd_config      2012/10/30 22:29:55     1.88
++++ b/src/usr.bin/ssh/sshd_config      2013/02/06 00:20:42     1.89
+@@ -96,7 +96,7 @@ UsePrivilegeSeparation sandbox               # Default for new inst
+ #ClientAliveCountMax 3
+ #UseDNS yes
+ #PidFile /var/run/sshd.pid
+-#MaxStartups 10
++#MaxStartups 10:30:100
+ #PermitTunnel no
+ #ChrootDirectory none
+ #VersionAddendum none
+
+--- a/src/usr.bin/ssh/sshd_config.5    2013/01/18 08:00:49     1.155
++++ b/src/usr.bin/ssh/sshd_config.5    2013/02/06 00:20:42     1.156
+@@ -821,7 +821,7 @@ SSH daemon.
+ Additional connections will be dropped until authentication succeeds or the
+ .Cm LoginGraceTime
+ expires for a connection.
+-The default is 10.
++The default is 10:30:100.
+ .Pp
+ Alternatively, random early drop can be enabled by specifying
+ the three colon separated values
+
+--- a/src/usr.bin/ssh/servconf.c       2012/12/02 20:46:11     1.233
++++ b/src/usr.bin/ssh/servconf.c       2013/02/06 00:20:42     1.234
+@@ -242,11 +242,11 @@ fill_default_server_options(ServerOptions *options)
+       if (options->gateway_ports == -1)
+               options->gateway_ports = 0;
+       if (options->max_startups == -1)
+-              options->max_startups = 10;
++              options->max_startups = 100;
+       if (options->max_startups_rate == -1)
+-              options->max_startups_rate = 100;               /* 100% */
++              options->max_startups_rate = 30;                /* 30% */
+       if (options->max_startups_begin == -1)
+-              options->max_startups_begin = options->max_startups;
++              options->max_startups_begin = 10;
+       if (options->max_authtries == -1)
+               options->max_authtries = DEFAULT_AUTH_FAIL_MAX;
+       if (options->max_sessions == -1)
index 31202d42840ce37218aee366e86c22dfbc049c88..d1edb6ed049240adb8ce60dae138b9184da8e196 100644 (file)
@@ -23,7 +23,8 @@ SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.
            file://sshd_config \
            file://ssh_config \
            file://init \
-           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
+           ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+           file://cve-2010-5107.patch;pnum=4"
 
 PAM_SRC_URI = "file://sshd"
 SRC_URI[md5sum] = "3c9347aa67862881c5da3f3b1c08da7b"