diff options
author | djm@openbsd.org <djm@openbsd.org> | 2016-09-28 16:33:06 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2016-09-29 03:11:32 +1000 |
commit | 0082fba4efdd492f765ed4c53f0d0fbd3bdbdf7f (patch) | |
tree | b0271896ec4d6c0e716821954212677438824a05 /sshd.c | |
parent | 27c3a9c2aede2184856b5de1e6eca414bb751c38 (diff) | |
download | openssh-git-0082fba4efdd492f765ed4c53f0d0fbd3bdbdf7f.tar.gz |
upstream commit
Remove support for pre-authentication compression. Doing
compression early in the protocol probably seemed reasonable in the 1990s,
but today it's clearly a bad idea in terms of both cryptography (cf. multiple
compression oracle attacks in TLS) and attack surface.
Moreover, to support it across privilege-separation zlib needed
the assistance of a complex shared-memory manager that made the
required attack surface considerably larger.
Prompted by Guido Vranken pointing out a compiler-elided security
check in the shared memory manager found by Stack
(http://css.csail.mit.edu/stack/); ok deraadt@ markus@
NB. pre-auth authentication has been disabled by default in sshd
for >10 years.
Upstream-ID: 32af9771788d45a0779693b41d06ec199d849caf
Diffstat (limited to 'sshd.c')
-rw-r--r-- | sshd.c | 10 |
1 files changed, 1 insertions, 9 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: sshd.c,v 1.475 2016/08/28 22:28:12 djm Exp $ */ +/* $OpenBSD: sshd.c,v 1.476 2016/09/28 16:33:07 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -114,7 +114,6 @@ #include "dispatch.h" #include "channels.h" #include "session.h" -#include "monitor_mm.h" #include "monitor.h" #ifdef GSSAPI #include "ssh-gss.h" @@ -582,9 +581,6 @@ privsep_preauth(Authctxt *authctxt) ssh_sandbox_parent_preauth(box, pid); monitor_child_preauth(authctxt, pmonitor); - /* Sync memory */ - monitor_sync(pmonitor); - /* Wait for the child's exit status */ while (waitpid(pid, &status, 0) < 0) { if (errno == EINTR) @@ -2152,10 +2148,6 @@ do_ssh2_kex(void) if (options.compression == COMP_NONE) { myproposal[PROPOSAL_COMP_ALGS_CTOS] = myproposal[PROPOSAL_COMP_ALGS_STOC] = "none"; - } else if (options.compression == COMP_DELAYED) { - myproposal[PROPOSAL_COMP_ALGS_CTOS] = - myproposal[PROPOSAL_COMP_ALGS_STOC] = - "none,zlib@openssh.com"; } if (options.rekey_limit || options.rekey_interval) |