summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorAneesh Agrawal <aneeshusa@gmail.com>2016-04-15 23:45:10 -0400
committerAneesh Agrawal <aneeshusa@gmail.com>2016-04-15 23:45:10 -0400
commit6e4d06873f42df22348ba96323b053bf603949b0 (patch)
tree148ac0997a7470663fd359f6a3c0ff16e2390c16 /pkgs/tools/networking/openssh
parent001c28b63ccb4a0f7ec169645a4acf42239b8768 (diff)
downloadnixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar.gz
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar.bz2
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar.lz
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar.xz
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.tar.zst
nixlib-6e4d06873f42df22348ba96323b053bf603949b0.zip
openssh: fix CVE-2015-8325
Debian Security Advisory: https://www.debian.org/security/2016/dsa-3550
Upstream commit: https://anongit.mindrot.org/openssh.git/commit/?id=85bdcd7c92fe7ff133bbc4e10a65c91810f88755
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 19b96fdc8dd5..64b9fe98278b 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;