
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-86469 is a Time-of-Check Time-of-Use (TOCTOU) symlink race condition vulnerability in GLib2's g_file_replace() function, specifically in the G_FILE_CREATE_REPLACE_DESTINATION fallback path. When the initial .goutputstream-XXXXXX temporary file creation fails, the library unlinks the destination and recreates it without exclusive creation (O_EXCL) or symlink protection, opening a race window that a local attacker can exploit to redirect writes to an arbitrary file. Affected products include Red Hat's glib2, mingw-glib2, and related packages across Red Hat Enterprise Linux and OpenShift Container Platform variants. The vulnerability was reported by Aisle Research, first recorded in Red Hat Bugzilla on May 11, 2026, and publicly disclosed on September 7, 2026. It carries a CVSS v3.1 base score of 5.3 (Medium) (Red Hat CVE, GitHub Advisory).
The root cause is CWE-59 (Improper Link Resolution Before File Access / 'Link Following'). The vulnerable code resides in gio/glocalfileoutputstream.c within the handle_overwrite_open() function. When g_mkstemp_full() fails to create the temporary file, the fallback path calls g_unlink(filename) followed by g_open(filename, O_CREAT | O_WRONLY, ...) — without O_EXCL — leaving a narrow window between the unlink and the reopen during which a local attacker can place a symlink at the destination path, causing subsequent writes to follow the symlink to an unintended target file. Exploitation requires: (1) local access to the system, (2) write permission to the destination directory, (3) the ability to trigger or coincide with the uncommon temporary-file creation failure, and (4) winning the narrow unlink/recreate race. A proposed fix adds O_EXCL to the fallback open() call and returns an error if the file already exists at that path (Red Hat Bugzilla, Red Hat CVE).
A successful exploit allows a local attacker to redirect file writes from the intended destination to an arbitrary file writable by the victim process, enabling overwrite of sensitive files or injection of malicious content. There is no direct confidentiality impact (file contents are not exposed), but integrity impact is rated High because the attacker can corrupt or replace files the victim process is authorized to write. Availability impact is Low, as redirected writes can corrupt files and cause limited service disruption. The scope is limited to the local system and the permissions of the victim process, with no direct path to remote code execution (Red Hat CVE, Red Hat Bugzilla).
A proof-of-concept (PoC) is referenced via a GNOME GitLab work item, though no weaponized exploit code has been publicly confirmed (Red Hat CVE). There is no evidence of in-the-wild exploitation as of the disclosure date, and no threat actor attribution has been reported. The NVD SSVC assessment classifies exploitation as 'poc' and automatable as 'no', reflecting the high attack complexity required. The EPSS score is approximately 0.113% (2nd percentile), indicating a low near-term exploitation probability (GitHub Advisory). This CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
g_file_replace() with G_FILE_CREATE_REPLACE_DESTINATION.LD_PRELOAD shim that intercepts open() or openat() calls for paths containing /.goutputstream- and returns ENOSPC (or another error), deterministically causing g_mkstemp_full() to fail and driving execution into the vulnerable fallback path in handle_overwrite_open().inotify or a polling loop to watch the destination directory for the IN_DELETE event on the target filename, indicating that g_unlink() has been called.g_open(filename, O_CREAT | O_WRONLY, ...) follows the attacker-placed symlink, and all data written by the victim process lands in the symlink target, achieving arbitrary file overwrite under the victim's permissions (Red Hat Bugzilla).g_file_replace() with G_FILE_CREATE_REPLACE_DESTINATION; files with unexpected content or timestamps in locations that should only be written by privileged processes; absence of .goutputstream-XXXXXX temporary files in directories where they would normally be created transiently.LD_PRELOAD environment variables set for processes invoking GLib2-based applications; unusual child processes or helper binaries monitoring directory events (e.g., using inotifywait) in sensitive directories.ENOSPC or other I/O errors from GLib2-based applications in environments where disk space is not actually exhausted; GLib2 error messages referencing glocalfileoutputstream.c or handle_overwrite_open().The primary workaround recommended by Red Hat is to avoid using g_file_replace(..., G_FILE_CREATE_REPLACE_DESTINATION, ...) on paths in directories writable by less-privileged users (Red Hat CVE). Additionally, privileged replacement writes should not be performed in shared writable directories where another user can recreate the destination pathname. Preventing temporary-file creation failures (e.g., ensuring sufficient disk space and inode availability) reduces the reachability of the fallback path but should be treated as defense in depth rather than a complete fix. Apply security updates from Red Hat and other distribution vendors as soon as patches are released; patch details are tracked via Red Hat Bugzilla 2473839 and the GitHub Advisory GHSA-847x-vxjh-whpv (Red Hat Bugzilla, GitHub Advisory).
Red Hat acknowledged the issue and credited Aisle Research for the responsible disclosure. The Red Hat Product Security team classified the severity as Moderate, noting that exploitation is materially harder than a typical Important flaw due to its local-only nature, dependence on an uncommon fallback path, and the need to win a narrow race condition (Red Hat CVE). No significant broader media coverage or notable researcher commentary beyond the official advisories has been identified at this time.
Fix availability across major Linux distributions and their releases.
bionic (esm-infra)
glib2.0
devel
glib2.0
focal (esm-infra)
glib2.0
jammy
glib2.0
noble
glib2.0
resolute
glib2.0
trusty (esm-infra-legacy)
glib2.0
xenial (esm-infra-legacy)
glib2.0
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."