The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel. These libraries provide critical APIs including ISO C11, POSIX.1-2008, BSD, OS-specific APIs and more. These APIs include such foundational facilities as open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit and more.
Security Fix(es):
A time-of-check to time-of-use (TOCTOU) race condition in the dynamic loader (ld.so) of the GNU C Library (glibc) versions 2.14 through 2.44 allows a local attacker to escalate privileges. When expanding $ORIGIN in DT_RPATH for setuid/setgid (AT_SECURE) programs, glibc validates the lexically normalized search path against the trusted directories but then opens the raw, un-normalized path. On systems where the Linux fs.protected_hardlinks sysctl is disabled, a local attacker who hard-links such a program into an attacker-controlled directory and wins a race to replace an intermediate path component with a symbolic link can direct the loader outside the trusted directory, causing it to load an attacker-controlled shared object and execute arbitrary code with the elevated privileges of the program.
Exploitation requires an installed setuid or setgid binary whose DT_RPATH uses $ORIGIN followed by ".." traversal that normalizes into a trusted directory, and the ability to hard-link that binary and win the race by swapping a path component for a symbolic link. Major Linux-based OS distributions ship with fs.protected_hardlinks enabled by default and mitigate the vulnerability.(CVE-2026-86805)
A stack-based buffer overflow in the dynamic loader (ld.so) of the GNU C Library (glibc) versions 2.14 through 2.44 allows a local attacker to crash or corrupt the memory of setuid/setgid (AT_SECURE) programs.
When such a program's DT_RPATH or DT_RUNPATH begins with $ORIGIN and is followed by NUL or '/' the loader both reads past the end of the path buffer and writes past the end of a stack-allocated internal buffer. The corrupted loader stack can lead to a loader crash (denial of service) and limited disclosure of process memory.(CVE-2026-95818)
{
"severity": "Medium"
}{
"aarch64": [
"glibc-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-all-langpacks-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-common-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-debuginfo-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-debugsource-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-debugutils-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-devel-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-locale-archive-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-locale-source-2.38-128.oe2403sp3.aarch64.rpm",
"glibc-nss-devel-2.38-128.oe2403sp3.aarch64.rpm",
"libnsl-2.38-128.oe2403sp3.aarch64.rpm",
"nscd-2.38-128.oe2403sp3.aarch64.rpm",
"nss_modules-2.38-128.oe2403sp3.aarch64.rpm"
],
"noarch": [
"glibc-help-2.38-128.oe2403sp3.noarch.rpm"
],
"src": [
"glibc-2.38-128.oe2403sp3.src.rpm"
],
"x86_64": [
"glibc-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-all-langpacks-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-common-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-debuginfo-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-debugsource-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-debugutils-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-devel-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-locale-archive-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-locale-source-2.38-128.oe2403sp3.x86_64.rpm",
"glibc-nss-devel-2.38-128.oe2403sp3.x86_64.rpm",
"libnsl-2.38-128.oe2403sp3.x86_64.rpm",
"nscd-2.38-128.oe2403sp3.x86_64.rpm",
"nss_modules-2.38-128.oe2403sp3.x86_64.rpm"
]
}