Logo
componentglibc
Name
glibc
Version
2.35
Type
library
Description
GLIBC (GNU C Library)
Licenses
GPL-2.0-only & LGPL-2.1-only
PURL
-
CPE
cpe:2.3:*:gnu:glibc:2.35:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
master
2.43+git
scarthgap
2.39+git

Patches#


#
Title
Author
Resolve
1
nativesdk-glibc: Allow 64 bit atomics for x86
Khem Raj <raj.khem@gmail.com>
2
powerpc: Do not ask compiler for finding arch
Khem Raj <raj.khem@gmail.com>
3
eglibc: Help bootstrap cross toolchain
Khem Raj <raj.khem@gmail.com>
4
nptl: rename __condvar_quiesce_and_switch_g1
Malte Skarupke <malteskarupke@fastmail.fm>
5
eglibc: Forward port cross locale generation support
Khem Raj <raj.khem@gmail.com>
6
nptl: Remove unnecessary quadruple check in pthread_cond_wait
Malte Skarupke <malteskarupke@fastmail.fm>
7
localedef --add-to-archive uses a hard-coded locale path
Khem Raj <raj.khem@gmail.com>
8
locale: prevent maybe-uninitialized errors with -Os [BZ
Martin Jansa <martin.jansa@gmail.com>
9
nptl: Fix indentation
Malte Skarupke <malteskarupke@fastmail.fm>
10
sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its empty
Khem Raj <raj.khem@gmail.com>
11
get_nscd_addresses: Fix subscript typos [BZ #29605]
=?UTF-8?q?J=C3=B6rg=20Sonnenberger?= <joerg@bec.de>
12
nptl: Update comments and indentation for new condvar
Malte Skarupke <malteskarupke@fastmail.fm>
13
fix create thread failed in unprivileged process [BZ #28287]
Hongxu Jia <hongxu.jia@windriver.com>
14
timezone: Make shell interpreter overridable in tzselect.ksh
Khem Raj <raj.khem@gmail.com>
15
eglibc: Cross building and testing instructions
Khem Raj <raj.khem@gmail.com>
16
pthreads NPTL: lost wakeup fix 2
Frank Barrus <frankbarrus_sw@shaggy.cc>
17
readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
Khem Raj <raj.khem@gmail.com>
18
nativesdk-glibc: Fix buffer overrun with a relocated SDK
Khem Raj <raj.khem@gmail.com>
19
nptl: Use all of g1_start and g_signals
Malte Skarupke <malteskarupke@fastmail.fm>
20
eglibc: Resolve __fpscr_values on SH4
Khem Raj <raj.khem@gmail.com>
21
nativesdk-glibc: Look for host system ld.so.cache as well
Khem Raj <raj.khem@gmail.com>
22
nptl: Remove g_refs from condition variables
Malte Skarupke <malteskarupke@fastmail.fm>
23
wordsize.h: Unify the header between arm and aarch64
Khem Raj <raj.khem@gmail.com>
24
localedef: Add hardlink resolver from util-linux
Jason Wessel <jason.wessel@windriver.com>
25
nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41
Florian Weimer <fweimer@redhat.com>
26
nativesdk-glibc: Make relocatable install for locales
Khem Raj <raj.khem@gmail.com>
27
nptl: Use a single loop in pthread_cond_wait instaed of a
Malte Skarupke <malteskarupke@fastmail.fm>
28
'yes' within the path sets wrong config variables
Khem Raj <raj.khem@gmail.com>
29
nptl: Remove unnecessary catch-all-wake in condvar group
Malte Skarupke <malteskarupke@fastmail.fm>
30
localedef: fix-ups hardlink to make it compile
Jason Wessel <jason.wessel@windriver.com>
31
Replace echo with printf builtin in nscd init script
Khem Raj <raj.khem@gmail.com>
32
Revert "Linux: Implement a useful version of _startup_fatal"
Martin Jansa <Martin.Jansa@gmail.com>
33
stdlib: Add single-threaded fast path to rand()
Wilco Dijkstra <wilco.dijkstra@arm.com>
34
sunrpc: Suppress GCC -Os warning on user2netname
Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
35
Patch #35
Richard Purdie <richard.purdie@linuxfoundation.org>
36
nativesdk-glibc: Fall back to faccessat on faccess2 returns
Khem Raj <raj.khem@gmail.com>
37
nativesdk-glibc: Raise the size of arrays containing dl paths
Khem Raj <raj.khem@gmail.com>

Vulnerabilities#


Name
Analysis
Description
Exploitable
The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the GNU C Library version 2.0.1 to version 2.43 fail to validate the RDATA content against the RDATA length in a DNS response when processing A6, CERT, LOC, TKEY or TSIG records, which may allow an attacker to craft a DNS response, causing a target application to crash or read uninitialized memory. These functions are for application debugging only and hence not in the path of code executed by the DNS resolver. Further, they have been deprecated since version 2.34 and should not be used by any new applications. Applications should consider porting away from these interfaces since they may be removed in future versions.
Exploitable
Calling the ungetwc function on a FILE stream with wide characters encoded in a character set that has overlaps between its single byte and multi-byte character encodings, in the GNU C Library version 2.43 or earlier, may result in an attempt to read bytes before an allocated buffer, potentially resulting in unintentional disclosure of neighboring data in the heap, or a program crash. A bug in the wide character pushback implementation (_IO_wdefault_pbackfail in libio/wgenops.c) causes ungetwc() to operate on the regular character buffer (fp->_IO_read_ptr) instead of the actual wide-stream read pointer (fp->_wide_data->_IO_read_ptr). The program crash may happen in cases where fp->_IO_read_ptr is not initialized and hence points to NULL. The buffer under-read requires a special situation where the input character encoding is such that there are overlaps between single byte representations and multibyte representations in that encoding, resulting in spurious matches. The spurious match case is not possible in the standard Unicode character sets.
Exploitable
Calling the scanf family of functions with a %mc (malloc'd character match) in the GNU C Library version 2.7 to version 2.43 with a format width specifier with an explicit width greater than 1024 could result in a one byte heap buffer overflow.
Exploitable
The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the GNU C Library version 2.2 and newer fail to enforce the caller-supplied buffer length, and can result in an out-of-bounds write when printing TSIG records.
Exploitable
Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf that specifies the library's DNS backend in the GNU C library version 2.34 to version 2.43 could result in an invalid DNS hostname being returned to the caller in violation of the DNS specification.
Exploitable
Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf that specifies the library's DNS backend in the GNU C Library version 2.34 to version 2.43 could, with a crafted response from the configured DNS server, result in a violation of the DNS specification that causes the application to treat a non-answer section of the DNS response as a valid answer.
Exploitable
The iconv() function in the GNU C Library versions 2.43 and earlier may crash due to an assertion failure when converting inputs from the IBM1390 or IBM1399 character sets, which may be used to remotely crash an application. This vulnerability can be trivially mitigated by removing the IBM1390 and IBM1399 character sets from systems that do not need them.
Exploitable
Calling NSS-backed functions that support caching via nscd may call the nscd client side code and in the GNU C Library version 2.36 under high load on x86_64 systems, the client may call memcmp on inputs that are concurrently modified by other processes or threads and crash. The nscd client in the GNU C Library uses the memcmp function with inputs that may be concurrently modified by another thread, potentially resulting in spurious cache misses, which in itself is not a security issue.  However in the GNU C Library version 2.36 an optimized implementation of memcmp was introduced for x86_64 which could crash when invoked with such undefined behaviour, turning this into a potential crash of the nscd client and the application that uses it. This implementation was backported to the 2.35 branch, making the nscd client in that branch vulnerable as well.  Subsequently, the fix for this issue was backported to all vulnerable branches in the GNU C Library repository. It is advised that distributions that may have cherry-picked the memcpy SSE2 optimization in their copy of the GNU C Library, also apply the fix to avoid the potential crash in the nscd client.
Exploitable
The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.