summaryrefslogtreecommitdiff
path: root/patches/source/openssh/openssh.CVE-2017-15906.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/openssh/openssh.CVE-2017-15906.patch')
-rw-r--r--patches/source/openssh/openssh.CVE-2017-15906.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/patches/source/openssh/openssh.CVE-2017-15906.patch b/patches/source/openssh/openssh.CVE-2017-15906.patch
new file mode 100644
index 00000000..fdb963f7
--- /dev/null
+++ b/patches/source/openssh/openssh.CVE-2017-15906.patch
@@ -0,0 +1,19 @@
+--- ./sftp-server.c.orig 2016-12-18 22:59:41.000000000 -0600
++++ ./sftp-server.c 2018-03-07 19:18:19.275984210 -0600
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: sftp-server.c,v 1.110 2016/09/12 01:22:38 deraadt Exp $ */
++/* $OpenBSD: sftp-server.c,v 1.111 2017/04/04 00:24:56 djm Exp $ */
+ /*
+ * Copyright (c) 2000-2004 Markus Friedl. All rights reserved.
+ *
+@@ -691,8 +691,8 @@
+ logit("open \"%s\" flags %s mode 0%o",
+ name, string_from_portable(pflags), mode);
+ if (readonly &&
+- ((flags & O_ACCMODE) == O_WRONLY ||
+- (flags & O_ACCMODE) == O_RDWR)) {
++ ((flags & O_ACCMODE) != O_RDONLY ||
++ (flags & (O_CREAT|O_TRUNC)) != 0)) {
+ verbose("Refusing open request in read-only mode");
+ status = SSH2_FX_PERMISSION_DENIED;
+ } else {