]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1 programs [BZ #21624]
authorFlorian Weimer <fweimer@redhat.com>
Mon, 19 Jun 2017 16:34:53 +0000 (18:34 +0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 13 Jul 2017 14:35:56 +0000 (11:35 -0300)
LD_LIBRARY_PATH can only be used to reorder system search paths, which
is not useful functionality.

This makes an exploitable unbounded alloca in _dl_init_paths unreachable
for AT_SECURE=1 programs.

(cherry picked from commit f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d)

ChangeLog
NEWS
elf/rtld.c

index aac7add8856e1b4cc44a33dbd4f4a83639299cdb..07ca17d151a2664fd403a0ee6da9923cc05ea839 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-06-19  Florian Weimer  <fweimer@redhat.com>
+
+       [BZ #21624]
+       CVE-2017-1000366
+       * elf/rtld.c (process_envvars): Ignore LD_LIBRARY_PATH for
+       __libc_enable_secure.
+
 2017-04-11  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
        * posix/globtest.sh: Add cleanup routine on trap 0.
diff --git a/NEWS b/NEWS
index c7ff11610e91d6a2cf5052dfd7f9213d6f591609..76a7f6a193aa56d167cd26a78b6ef03d6adf49b5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -43,6 +43,7 @@ The following bugs are resolved with this release:
   [20177] $dp is not initialized correctly in sysdeps/hppa/start.S
   [20357] Incorrect cos result for 1.5174239687223976
   [21289] Fix symbol redirect for fts_set
+  [21624] Unsafe alloca allows local attackers to alias stack and heap (CVE-2017-1000366)
 
 \f
 Version 2.23
index 647661ca45901d6e42c3c52475030d8dd06b61ab..215a9aec8f19b6cdd8b5c9b52e5da3cd82c75c12 100644 (file)
@@ -2437,7 +2437,8 @@ process_envvars (enum mode *modep)
 
        case 12:
          /* The library search path.  */
-         if (memcmp (envline, "LIBRARY_PATH", 12) == 0)
+         if (!__libc_enable_secure
+             && memcmp (envline, "LIBRARY_PATH", 12) == 0)
            {
              library_path = &envline[13];
              break;