SynopsisThe remote Scientific Linux host is missing one or more security updates.
DescriptionA stack-based buffer overflow was found in the way the libresolv library performed dual A/AAAA DNS queries. A remote attacker could create a specially crafted DNS response which could cause libresolv to crash or, potentially, execute code with the permissions of the user running the library. Note: this issue is only exposed when libresolv is called from the nss_dns NSS service module. (CVE-2015-7547)
It was discovered that the calloc implementation in glibc could return memory areas which contain non-zero bytes. This could result in unexpected application behavior such as hangs or crashes.
This update also fixes the following bugs :
- The existing implementation of the 'free' function causes all memory pools beyond the first to return freed memory directly to the operating system as quickly as possible. This can result in performance degradation when the rate of free calls is very high. The first memory pool (the main pool) does provide a method to rate limit the returns via M_TRIM_THRESHOLD, but this method is not available to subsequent memory pools.
With this update, the M_TRIM_THRESHOLD method is extended to apply to all memory pools, which improves performance for threads with very high amounts of free calls and limits the number of 'madvise' system calls. The change also increases the total transient memory usage by processes because the trim threshold must be reached before memory can be freed.
To return to the previous behavior, you can either set M_TRIM_THRESHOLD using the 'mallopt' function, or set the MALLOC_TRIM_THRESHOLD environment variable to 0.
- On the little-endian variant of 64-bit IBM Power Systems (ppc64le), a bug in the dynamic loader could cause applications compiled with profiling enabled to fail to start with the error 'monstartup: out of memory'. The bug has been corrected and applications compiled for profiling now start correctly.
SolutionUpdate the affected packages.