summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-04-18 13:00:40 +0000
committerRobin Gloster <mail@glob.in>2016-04-18 13:49:22 +0000
commitd020caa5b2eca90ea051403fbb4c52b99ee071b9 (patch)
treeba44ef1e784bca89e0df6b249956fd035b1d86e3 /pkgs/tools/networking/openssh
parent3e68106afd95df012ddb548575f0133681687a90 (diff)
parent0729f606973870c03d21bb2f21b70d91216943ca (diff)
downloadnixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.gz
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.bz2
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.lz
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.xz
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.zst
nixlib-d020caa5b2eca90ea051403fbb4c52b99ee071b9.zip
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/CVE-2015-8325.patch28
-rw-r--r--pkgs/tools/networking/openssh/default.nix4
2 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/tools/networking/openssh/CVE-2015-8325.patch b/pkgs/tools/networking/openssh/CVE-2015-8325.patch
new file mode 100644
index 000000000000..c752726aeae7
--- /dev/null
+++ b/pkgs/tools/networking/openssh/CVE-2015-8325.patch
@@ -0,0 +1,28 @@
+From 85bdcd7c92fe7ff133bbc4e10a65c91810f88755 Mon Sep 17 00:00:00 2001
+From: Damien Miller <djm@mindrot.org>
+Date: Wed, 13 Apr 2016 10:39:57 +1000
+Subject: [PATCH] ignore PAM environment vars when UseLogin=yes
+
+If PAM is configured to read user-specified environment variables
+and UseLogin=yes in sshd_config, then a hostile local user may
+attack /bin/login via LD_PRELOAD or similar environment variables
+set via PAM.
+
+CVE-2015-8325, found by Shayan Sadigh, via Colin Watson
+---
+ session.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/session.c b/session.c
+index 4859245..4653b09 100644
+--- a/session.c
++++ b/session.c
+@@ -1322,7 +1322,7 @@ do_setup_env(Session *s, const char *shell)
+ 	 * Pull in any environment variables that may have
+ 	 * been set by PAM.
+ 	 */
+-	if (options.use_pam) {
++	if (options.use_pam && !options.use_login) {
+ 		char **p;
+ 
+ 		p = fetch_pam_child_environment();
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 79c9613ee4c9..064745f88558 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -41,8 +41,10 @@ stdenv.mkDerivation rec {
     '';
 
   patches =
-    [ ./locale_archive.patch
+    [
+      ./locale_archive.patch
       ./fix-host-key-algorithms-plus.patch
+      ./CVE-2015-8325.patch
     ]
     ++ optional withGssapiPatches gssapiSrc;