The GNU C Library (aka glibc or libc6) before 2.27 contains an off-by-one error leading to a heap-based buffer overflow in the glob function in glob.c, related to the processing of home directories using the ~ operator followed by a long string.
La biblioteca GNU C (también llamada glibc o libc6) en versiones anteriores a la 2.27 contiene un error por un paso que conduce a un desbordamiento de búfer basado en memoria dinámica (heap) en la función glob en glob.c. Esto se relaciona con el procesamiento de directorios principales empleando el operador ~ seguido por una larga cadena.
It was discovered that the GNU C library did not properly handle all of the possible return values from the kernel getcwd syscall. A local attacker could potentially exploit this to execute arbitrary code in setuid programs and gain administrative privileges. A memory leak was discovered in the _dl_init_paths function in the GNU C library dynamic loader. A local attacker could potentially exploit this with a specially crafted value in the LD_HWCAP_MASK environment variable, in combination with CVE-2017-1000409 and another vulnerability on a system with hardlink protections disabled, in order to gain administrative privileges. Various other issues were also addressed.