]> 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)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 19 Jun 2017 16:34:53 +0000 (18:34 +0200)
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 989e0da9ae0fd9bc524df980c48191e7a5d1592d..5e5e8615b487532509e31043d9a4e5f115c3bf08 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-03-31  Slava Barinov  <v.barinov@samsung.com>
 
        [BZ #21289]
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;