summary refs log tree commit diff
path: root/pkgs/games/steam/chrootenv.nix
diff options
context:
space:
mode:
authorAnders Kaseorg <andersk@mit.edu>2020-01-01 16:29:34 -0800
committerFrederik Rietdijk <freddyrietdijk@fridh.nl>2020-01-15 09:47:03 +0100
commit3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba (patch)
tree7a1f1889004dce271903d69dce5c1f5a2cf92b07 /pkgs/games/steam/chrootenv.nix
parent2e5051e2235f93829f0d6531ace21e87f2a486a4 (diff)
downloadnixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar.gz
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar.bz2
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar.lz
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar.xz
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.tar.zst
nixpkgs-3cd8ce3bce1e3d89b21caa0d3ad458193f5179ba.zip
treewide: Fix unsafe concatenation of $LD_LIBRARY_PATH
Naive concatenation of $LD_LIBRARY_PATH can result in an empty
colon-delimited segment; this tells glibc to load libraries from the
current directory, which is definitely wrong, and may be a security
vulnerability if the current directory is untrusted.  (See #67234, for
example.)  Fix this throughout the tree.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Diffstat (limited to 'pkgs/games/steam/chrootenv.nix')
-rw-r--r--pkgs/games/steam/chrootenv.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 9229f4fbc93..4245704575c 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -53,7 +53,7 @@ let
       echo "$runtime_paths"
       exit 0
     fi
-    export LD_LIBRARY_PATH="$runtime_paths:$LD_LIBRARY_PATH"
+    export LD_LIBRARY_PATH="$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
     exec "$@"
   '';
 
@@ -260,7 +260,7 @@ in buildFHSUserEnv rec {
         exit 1
       fi
       shift
-      ${lib.optionalString (!nativeOnly) "export LD_LIBRARY_PATH=/lib32:/lib64:${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH"}
+      ${lib.optionalString (!nativeOnly) "export LD_LIBRARY_PATH=/lib32:/lib64:${lib.concatStringsSep ":" ldPath}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"}
       exec -- "$run" "$@"
     '';
   };