Skip to main content

GNU C Library EUVDEUVD-2026-84540

| CVE-2026-86805 MEDIUM
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-09-22 glibc GHSA-fmf4-pr35-46c2
6.3
CVSS 3.1 · Vendor: glibc
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain local account on target
  2. Delivery
    Hard-link setuid binary into controlled dir
  3. Exploit
    Race-swap path component with symlink
  4. Execution
    ld.so opens un-normalized path
  5. Persist
    Load attacker shared object
  6. Impact
    Execute code as elevated user

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
Exploitation Conditions

Exploitation requires ALL of: (1) an installed setuid or setgid (AT_SECURE) binary whose DT_RPATH uses $ORIGIN followed by '..' traversal that lexically normalizes back into a trusted directory; (2) the Linux fs.protected_hardlinks sysctl being DISABLED - major distributions enable it by default and are mitigated; (3) a local unprivileged account with the ability to hard-link the target binary into an attacker-controlled directory; and (4) winning a TOCTOU race to replace an intermediate path component with a symbolic link between validation and open(). These narrow, compounding preconditions - non-default kernel setting plus a specific RPATH construction plus a race win - sharply limit realistic exploitation despite glibc's ubiquity.

Impact

The provided CVSS 3.1 vector (AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, score 7.0) describes a local, high-complexity privilege escalation requiring an existing low-privileged account - not a remotely reachable flaw despite the 'RCE' tag. No EPSS score, CISA KEV listing, or POC is present in the input, so exploitation status is 'no public exploit identified at time of analysis.' The AC:H rating is well justified: successful exploitation requires winning a filesystem race AND a non-default kernel configuration (fs.protected_hardlinks disabled), and the vulnerability itself notes that major distributions ship this sysctl enabled by default and are therefore mitigated. This is a real, high-quality privilege-escalation primitive in ubiquitous software, but the compounding preconditions (rare setuid/setgid binary with a $ORIGIN+'..' DT_RPATH, disabled hardlink protection, and a race win) make widespread opportunistic exploitation unlikely; it is a hardening/patch-management priority rather than an emergency. No signals conflict, but note the missing EPSS/KEV/POC data means real-world exploitation interest cannot be quantified from the input.

Exploit ScenarioDerived

On a system where an administrator has disabled fs.protected_hardlinks, a local attacker with a shell account identifies a setuid/setgid binary whose DT_RPATH uses $ORIGIN followed by '..' traversal. They hard-link the binary into a directory they control, launch it, and race to swap an intermediate path component for a symlink between the loader's path validation and its open() call, causing ld.so to load an attacker-controlled shared object and execute code with the binary's elevated privileges. No public exploit code is identified in the provided data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 22, 2026

Privilege escalation in GNU C Library (glibc) 2.14 through 2.44 stems from a TOCTOU race in ld.so when expanding $ORIGIN in DT_RPATH for setuid/setgid (AT_SECURE) programs. A local low-privileged (PR:L) attacker can exploit this only where fs.protected_hardlinks is disabled and a suitable setuid/setgid binary exists, by hard-linking the binary and winning a race to swap an intermediate path component for a symlink so the loader loads an attacker-controlled shared object with the program's elevated privileges. No public exploit identified at time of analysis; major Linux distributions enable fs.protected_hardlinks by default, sharply limiting exposure.

RemediationAI

Patch available per vendor advisory: consult GLIBC-SA-2026-0022 (https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=advisories/GLIBC-SA-2026-0022) and sourceware bug 34360 for fixed glibc builds; the provided data does not specify an exact fixed version, so apply the latest glibc security update from your Linux distribution, ideally a build after 2.44 or a backported patched 2.14-2.44 package. Ensure fs.protected_hardlinks=1 on affected systems; this blocks the attacker's hard-link precondition, though it can interfere with legitimate workflows that hard-link files the user does not own (for example some backup or deduplication tools), so test before broad rollout. Audit setuid/setgid binaries for DT_RPATH entries using $ORIGIN followed by '..' that normalize into trusted directories, and remove or rebuild those binaries without such RPATH values; removing RPATH may change library resolution and requires application testing. If an affected setuid/setgid binary cannot be patched or rebuilt immediately, consider removing its setuid/setgid bit or restricting execution to trusted users, accepting the loss of that program's privileged functionality as a temporary trade-off.

Affected VersionsENISA

glibc 2.14 <2.45

Affected Packages

euvd glibc fix: 2.45

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The GNU C Library (glibc) dynamic loader ld.so resolves DT_RPATH entries for setuid/setgid binaries in secure mode. When expanding $ORIGIN, glibc validates a lexically normalized search path against trusted directories but opens the raw, un-normalized path, creating a CWE-367 time-of-check to time-of-use race. The affected CPE is cpe:2.3:a:the_gnu_c_library:glibc:*:*:*:*:*:*:*:*; the description identifies versions 2.14 through 2.44. Exploitation depends on a setuid/setgid AT_SECURE binary whose DT_RPATH uses $ORIGIN followed by '..' traversal that normalizes back into a trusted directory, plus fs.protected_hardlinks being disabled so the attacker can hard-link that binary into an attacker-controlled directory. The attacker must then replace an intermediate path component with a symbolic link between validation and open(). The assessed vector CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (score 7.0) reflects a local, high-complexity privilege escalation requiring an existing low-privileged account; although tagged 'RCE', this is not a remotely reachable flaw.

Know when Glibc gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (glibc) PRIMARY 6.3 HIGH
AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:L
vuln.today AI 7.0 HIGH

Local attacker with an account (AV:L/PR:L); race window plus non-default fs.protected_hardlinks and specific RPATH make AC:H; full privilege takeover gives C:H/I:H/A:H.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 7.0 MEDIUM

Primary rating from Vendor (glibc).

CVSS VectorVendor: glibc

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

4
Severity Changed
Sep 22, 2026 - 17:22 NVD
HIGH MEDIUM
CVSS changed
Sep 22, 2026 - 17:22 NVD
7.0 (HIGH) 6.3 (MEDIUM)
Patch available
Sep 22, 2026 - 17:17 EUVD
CVE Published
Sep 22, 2026 - 15:55 cve.org
HIGH 7.0

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

GNU C Library (glibc) versions 2.14 through 2.44 contain a local privilege escalation vulnerability that could allow an authenticated local attacker to gain root privileges on Linux systems where fs.protected_hardlinks is disabled. No public exploit identified at time of analysis, and major Linux distributions enable fs.protected_hardlinks by default, sharply limiting exposure; however, no vendor-released patch identified at time of analysis. Leadership should care because unpatched Linux servers and workstations with the protective setting disabled are at risk of full system compromise, requiring immediate verification of kernel hardening and preparation for upcoming patches.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Ensure fs.protected_hardlinks=1 (default on major distributions) is enforced. Remove unnecessary setuid/setgid bits from binaries. Mount filesystems with nosuid where possible. Use mandatory access controls (SELinux/AppArmor) to confine privileged processes.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Ubiquitous
glibc is the core C library on virtually all Linux systems
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Glibc

View all
CVE-2023-4911 HIGH POC
7.8 Oct 03

Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected

CVE-2015-0235 CRITICAL POC
10.0 Jan 28

Heap-based buffer overflow in the __nss_hostname_digits_dots function in glibc 2.2, and other 2.x versions before 2.18,

CVE-2024-2961 HIGH POC
7.3 Apr 17

The iconv() function in the GNU C Library versions 2.39 and older may overflow the output buffer passed to it by up to 4

CVE-2015-7547 HIGH POC
8.1 Feb 18

Multiple stack-based buffer overflows in the (1) send_dg and (2) send_vc functions in the libresolv library in the GNU C

CVE-2023-6246 HIGH POC
8.4 Jan 31

Local privilege escalation in GNU glibc 2.36 and newer arises from a heap-based buffer overflow in __vsyslog_internal, r

CVE-2014-5119 HIGH POC
7.5 Aug 29

Off-by-one error in the __gconv_translit_find function in gconv_trans.c in GNU C Library (aka glibc) allows context-depe

CVE-2012-4412 HIGH POC
7.5 Oct 09

Integer overflow in string/strcoll_l.c in the GNU C Library (aka glibc or libc6) 2.17 and earlier allows context-depende

CVE-2018-1000001 HIGH POC
7.8 Jan 31

In glibc 2.26 and earlier there is confusion in the usage of getcwd() by realpath() which can be used to write before th

CVE-2019-9169 CRITICAL POC
9.8 Feb 26

In the GNU C Library (aka glibc or libc6) through 2.29, proceed_next_node in posix/regexec.c has a heap-based buffer ove

CVE-2019-1010022 CRITICAL POC
9.8 Jul 15

GNU Libc current is affected by: Mitigation bypass. Rated critical severity (CVSS 9.8), this vulnerability is remotely e

CVE-2021-33574 CRITICAL POC
9.8 May 25

The mq_notify function in the GNU C Library (aka glibc) versions 2.32 and 2.33 has a use-after-free. Rated critical seve

CVE-2023-25139 CRITICAL POC
9.8 Feb 03

sprintf in the GNU C Library (glibc) 2.37 has a buffer overflow (out-of-bounds write) in some situations with a correct

Vendor StatusVendor

SUSE

Severity: Important
Product Status
Container bci/bci-base-fips:16.0-20.13 Container bci/bci-busybox:16.0-22.13 Container bci/bci-init:16.0-13.26 Container bci/bci-micro-fips:16.0-25.14 Container bci/bci-micro:16.0-22.13 Container bci/bci-minimal:16.0-18.14 Container bci/nodejs:24.18.1-base-11.8 Container suse/cosign:3.1.2-3.12 Container suse/pcp:6.2.0-12.30 Container suse/sl-micro/6.2/baremetal-iso-image:latest Container suse/sl-micro/6.2/base-iso-image:latest Container suse/sl-micro/6.2/kvm-iso-image:latest Container suse/sl-micro/6.2/rt-iso-image:latest Affected
Container suse/sles/16.0/toolbox:16.3-1.130 Affected
SUSE Linux Enterprise Server 16.0 SUSE Linux Enterprise Server for SAP applications 16.0 Fixed
SUSE Linux Micro 6.2 Fixed
openSUSE Leap 16.0 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy