Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-86469
Linux Debian vulnerability analysis and mitigation

Overview

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).

Technical details

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).

Impact

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).

Exploitability

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.

Exploitation steps

  1. Gain local access: Obtain a local account with write access to the directory containing the target file that a higher-privileged process will write using g_file_replace() with G_FILE_CREATE_REPLACE_DESTINATION.
  2. Force the fallback path: Build or deploy an 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().
  3. Monitor for the unlink: Use 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.
  4. Race in a symlink: Immediately upon detecting the unlink, create a symlink at the destination path pointing to the protected target file (e.g., a configuration file or privileged data file writable by the victim process but not by the attacker).
  5. Observe redirected write: The victim process's subsequent 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).

Indicators of compromise

  • File System: Unexpected symlinks appearing in directories where applications use 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.
  • Process: Presence of 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.
  • Logs: Application or system logs showing 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().

Mitigation and workarounds

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).

Community reactions

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.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

glib2.0

Affected

sid

glib2.0

Affected

trixie

glib2.0

Affected

Ubuntu

Unknown

bionic (esm-infra)

glib2.0

Unknown

devel

glib2.0

Unknown

focal (esm-infra)

glib2.0

Unknown

jammy

glib2.0

Unknown

noble

glib2.0

Unknown

resolute

glib2.0

Unknown

trusty (esm-infra-legacy)

glib2.0

Unknown

xenial (esm-infra-legacy)

glib2.0

Unknown

RHEL / CentOS

Affected

OpenShift

openshift/ose-rhel-coreos-8

Affected

RHEL 8

glib2.src

Affected

RHEL 9

glib2.src

Affected

RHEL 10

glib2.src

Affected

SourceThis report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-61721HIGH8
  • Linux Debian logoLinux Debian
  • fluidsynth
NoYesSep 18, 2026
CVE-2026-61714HIGH7.8
  • Linux Debian logoLinux Debian
  • fluidsynth
NoYesSep 18, 2026
CVE-2026-61723MEDIUM6.8
  • Linux Debian logoLinux Debian
  • fluidsynth
NoYesSep 18, 2026
CVE-2026-61722MEDIUM6.8
  • Linux Debian logoLinux Debian
  • fluidsynth
NoYesSep 18, 2026
CVE-2026-61720MEDIUM6.2
  • Linux Debian logoLinux Debian
  • fluidsynth
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management