Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.21. glibc

Updated glibc packages that fix one security issue and one bug are now available for Red Hat Enterprise Linux 5.
The Red Hat Security Response Team has rated this update as having moderate security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link associated with the description below.
The glibc packages provide the standard C libraries (libc), POSIX thread libraries (libpthread), standard math libraries (libm), and the Name Server Caching Daemon (nscd) used by multiple programs on the system. Without these libraries, the Linux system cannot function correctly.

Security Fix

CVE-2013-4332
Multiple integer overflow flaws, leading to heap-based buffer overflows, were found in glibc's memory allocator functions (pvalloc, valloc, and memalign). If an application used such a function, it could cause the application to crash or, potentially, execute arbitrary code with the privileges of the user running the application.

Bug Fix

BZ#1011424
Prior to this update, the size of the L3 cache in certain CPUs for SMP (Symmetric Multiprocessing) servers was not correctly detected. The incorrect cache size detection resulted in less than optimal performance for routines that used this information, including the memset() function. To fix this bug, the cache size detection has been corrected and core routines including memset() have their performance restored to expected levels.
All glibc users are advised to upgrade to these updated packages, which contain backported patches to correct these issues.
Updated glibc packages that fix several bugs are now available for Red Hat Enterprise Linux 5.
The glibc packages provide the standard C libraries (libc), POSIX thread libraries (libpthread), standard math libraries (libm), and the Name Server Caching Daemon (nscd) used by multiple programs on the system. Without these libraries, the Linux system cannot function correctly.

Bug Fixes

BZ#979413
An attempt to start an already running service by using the "service" command should result in a zero exit code. However, due to an error in the nscd init script, the "service nscd start" command returned a non-zero exit code. This update corrects the nscd init script and this command returns a zero exit code as expected in the described situation.
BZ#995207
The getgroups() function incorrectly accepted a negative size value and then terminated unexpectedly if a related program was compiled with optimizations enabled and the FORTIFY_SOURCE parameter was set to 2. This update corrects the getgroups() function to return an EINVAL error in such cases.
BZ#1003420
The size of the L3 cache in certain CPUs for SMP (Symmetric Multiprocessing) servers was not correctly detected. The incorrect cache size detection resulted in less than optimal performance for routines that used this information, including the memset() function. To fix this problem, the cache size detection has been corrected and core routines including memset() work with the expected efficiency.
BZ#1020486
The getnameinfo() function previously failed on a reverse lookup of an IP address that had a large number of PTR records associated with it. This problem has been corrected and getnameinfo() now correctly returns one of the PTR records as the response.
Users of glibc are advised to upgrade to these updated packages, which fix these bugs.