CVE-2026-86469
Glib2: toctou symlink race in `g_file_create_replace_destination` fallback path
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
Glib2: toctou symlink race in `g_file_create_replace_destination` fallback path
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
CVE-2026-86469- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-59
- Updated
- 2026-11-06
EUVDEUVD-2026-72488
5.3
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
EUVD-2026-72488- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Updated
- 2026-11-06
GitHub AdvisoriesGHSA-847x-vxjh-whpv
5.3
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION...
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
GHSA-847x-vxjh-whpv- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-59
- Updated
- 2026-11-02
NVD
5.3
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
CVE-2026-86469- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-59
- Updated
- 2026-11-06
OSVDEBIAN-CVE-2026-86469
5.3
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
DEBIAN-CVE-2026-86469- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Updated
- 2026-11-03
OSVUBUNTU-CVE-2026-86469
5.3
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
UBUNTU-CVE-2026-86469- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Updated
- 2026-11-04
OSVAZL-99993 No score
CVE-2026-86469 affecting package glib 2.78.6-11
A flaw was found in GLib2. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION and creating the .goutputstream-XXXXXX temporary file fails, the library unlinks the destination and recreates it without exclusive creation or symlink protection. A local attacker who can write to the destination directory can win that race and redirect the write to another file.
- Record
AZL-99993- Updated
- 2026-11-05
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
glibAzure Linux:3 |
through 2.78.6-11 | None known |
glib2.0Debian:12 |
All versions, plus listed versions 2.74.6-22.74.6-2+deb12u12.74.6-2+deb12u22.74.6-2+deb12u32.74.6-2+deb12u4 Show 45 moreShow less2.74.6-2+deb12u52.74.6-2+deb12u62.74.6-2+deb12u72.74.6-2+deb12u82.74.6-2+deb12u92.75.0-12.75.2-12.75.3-12.75.3-22.75.3-32.75.4-12.76.0-12.76.1-12.76.2-12.76.3-12.76.4-12.76.4-22.76.4-32.76.4-42.77.0-12.77.1-12.77.1-22.77.2-12.77.3-12.78.0-12.78.0-22.78.1-12.78.1-22.78.1-32.78.1-42.78.2-12.78.3-12.78.3-22.78.4-12.78.4-22.78.4-2.12.78.4-32.78.4-42.78.4-52.78.4-62.78.4-72.79.0+git20240110~g38f5ba3c-12.79.0+git20240110~g38f5ba3c-22.79.0+git20240119~62ee8bf6-12.79.1-1 |
None known |
glib2.0Debian:13 |
All versions, plus listed versions 2.84.3-12.84.4-12.84.4-22.84.4-32.84.4-3~deb13u1 Show 45 moreShow less2.84.4-3~deb13u22.84.4-3~deb13u32.84.4-3~deb13u42.84.4-3~deb13u52.85.1-12.85.1-22.85.2-22.85.3-12.85.4-12.86.0-12.86.0-22.86.0-32.86.0-42.86.0-52.86.0-62.86.0-72.86.1-12.86.1-22.86.2-12.86.3-12.86.3-22.86.3-32.86.3-42.86.3-52.87.1-12.87.2-12.87.2-22.87.2-32.87.3-12.87.3~gitlab0-12.87.5-12.88.0-12.88.1-22.88.2-12.88.3-12.88.3-22.88.3-32.89.2-12.89.3-12.89.3-22.89.3-32.89.3-42.89.3-52.89.4-22.90.0-1 |
None known |
glib2.0Debian:14 |
All versions, plus listed versions 2.84.3-12.84.4-12.84.4-22.84.4-32.84.4-3~deb13u1 Show 45 moreShow less2.84.4-3~deb13u22.84.4-3~deb13u32.84.4-3~deb13u42.84.4-3~deb13u52.85.1-12.85.1-22.85.2-22.85.3-12.85.4-12.86.0-12.86.0-22.86.0-32.86.0-42.86.0-52.86.0-62.86.0-72.86.1-12.86.1-22.86.2-12.86.3-12.86.3-22.86.3-32.86.3-42.86.3-52.87.1-12.87.2-12.87.2-22.87.2-32.87.3-12.87.3~gitlab0-12.87.5-12.88.0-12.88.1-22.88.2-12.88.3-12.88.3-22.88.3-32.89.2-12.89.3-12.89.3-22.89.3-32.89.3-42.89.3-52.89.4-22.90.0-1 |
None known |
glib2.0Ubuntu:Pro:14.04:LTS |
All versions, plus listed versions 2.38.0-1ubuntu12.38.1-12.39.1-0ubuntu12.39.1-0ubuntu22.39.1-0ubuntu3 Show 20 moreShow less2.39.2-0ubuntu12.39.2-0ubuntu22.39.3-0ubuntu42.39.4-0ubuntu12.39.90-0ubuntu12.39.91-0ubuntu22.39.91-0ubuntu32.39.92-22.40.0-12.40.0-1ubuntu12.40.0-22.40.2-0ubuntu12.40.2-0ubuntu1.12.40.2-0ubuntu1.1+esm12.40.2-0ubuntu1.1+esm22.40.2-0ubuntu1.1+esm32.40.2-0ubuntu1.1+esm42.40.2-0ubuntu1.1+esm62.40.2-0ubuntu1.1+esm72.40.2-0ubuntu1.1+esm8 |
None known |
glib2.0Ubuntu:Pro:16.04:LTS |
All versions, plus listed versions 2.46.1-12.46.1-22.47.1-12.47.3-32.47.4-1 Show 21 moreShow less2.47.5-12.47.6-12.48.0-1ubuntu32.48.0-1ubuntu42.48.1-1~ubuntu16.04.12.48.2-0ubuntu12.48.2-0ubuntu32.48.2-0ubuntu42.48.2-0ubuntu4.12.48.2-0ubuntu4.22.48.2-0ubuntu4.32.48.2-0ubuntu4.42.48.2-0ubuntu4.52.48.2-0ubuntu4.62.48.2-0ubuntu4.72.48.2-0ubuntu4.82.48.2-0ubuntu4.8+esm12.48.2-0ubuntu4.8+esm32.48.2-0ubuntu4.8+esm42.48.2-0ubuntu4.8+esm52.48.2-0ubuntu4.8+esm6 |
None known |
glib2.0Ubuntu:Pro:18.04:LTS |
All versions, plus listed versions 2.54.1-1ubuntu12.55.2-2ubuntu12.56.0-2ubuntu12.56.0-4ubuntu12.56.1-2ubuntu1 Show 15 moreShow less2.56.2-0ubuntu0.18.04.12.56.2-0ubuntu0.18.04.22.56.3-0ubuntu0.18.04.12.56.4-0ubuntu0.18.04.22.56.4-0ubuntu0.18.04.32.56.4-0ubuntu0.18.04.42.56.4-0ubuntu0.18.04.52.56.4-0ubuntu0.18.04.62.56.4-0ubuntu0.18.04.72.56.4-0ubuntu0.18.04.82.56.4-0ubuntu0.18.04.92.56.4-0ubuntu0.18.04.9+esm32.56.4-0ubuntu0.18.04.9+esm42.56.4-0ubuntu0.18.04.9+esm52.56.4-0ubuntu0.18.04.9+esm6 |
None known |
glib2.0Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 2.62.1-12.63.1-22.63.1-2ubuntu12.63.3-12.63.3-3 Show 15 moreShow less2.63.5-22.64.0-12.64.1-12.64.2-1~fakesync12.64.3-1~ubuntu20.04.12.64.6-1~ubuntu20.04.12.64.6-1~ubuntu20.04.22.64.6-1~ubuntu20.04.32.64.6-1~ubuntu20.04.42.64.6-1~ubuntu20.04.62.64.6-1~ubuntu20.04.72.64.6-1~ubuntu20.04.82.64.6-1~ubuntu20.04.92.64.6-1~ubuntu20.04.9+esm12.64.6-1~ubuntu20.04.9+esm2 |
None known |
glib2.0Ubuntu:22.04:LTS |
All versions, plus listed versions 2.68.4-1ubuntu12.70.1-12.70.2-12.71.0-22.71.1-1 Show 16 moreShow less2.71.2-12.71.3-12.72.0-12.72.1-12.72.4-0ubuntu12.72.4-0ubuntu22.72.4-0ubuntu2.22.72.4-0ubuntu2.32.72.4-0ubuntu2.42.72.4-0ubuntu2.52.72.4-0ubuntu2.62.72.4-0ubuntu2.72.72.4-0ubuntu2.82.72.4-0ubuntu2.92.72.4-0ubuntu2.102.72.4-0ubuntu2.11 |
None known |
glib2.0Ubuntu:24.04:LTS |
All versions, plus listed versions 2.78.0-22.78.1-42.78.3-12.78.3-22.79.1-1 Show 13 moreShow less2.79.2-1~ubuntu12.79.3-3ubuntu52.80.0-6ubuntu12.80.0-6ubuntu32.80.0-6ubuntu3.12.80.0-6ubuntu3.22.80.0-6ubuntu3.42.80.0-6ubuntu3.52.80.0-6ubuntu3.62.80.0-6ubuntu3.72.80.0-6ubuntu3.82.80.0-6ubuntu3.92.80.0-6ubuntu3.10 |
None known |
glib2.0Ubuntu:26.10 |
All versions, plus listed versions 2.88.0-12.88.1-22.89.2-12.89.3-32.89.3-42.90.0-1 |
None known |
glib2.0Ubuntu:26.04:LTS |
All versions, plus listed versions 2.86.0-22.86.1-12.86.1-22.86.2-12.86.3-1 Show 6 moreShow less2.86.3-42.87.2-22.87.2-32.87.3-12.88.0-12.88.0-1ubuntu0.1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| products | CVE List, EUVD, NVD, OSV | |
| affected, facts | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-86469 is a medium vulnerability (CVSS 5.3) in Red Hat Enterprise Linux 10, published September 7, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. No source names a fixed version.
References
access.redhat.com/security/cve/CVE-2026-86469
bugzilla.redhat.com/show_bug.cgi?id=2473839
gitlab.gnome.org/GNOME/glib/-/blob/main/gio/glocalfileoutputstream.c
gitlab.gnome.org/GNOME/glib/-/work_items/4044
nvd.nist.gov/vuln/detail/CVE-2026-86469
github.com/advisories/GHSA-847x-vxjh-whpv
security-tracker.debian.org/tracker/CVE-2026-86469
ubuntu.com/security/CVE-2026-86469
cve.org/CVERecord?id=CVE-2026-86469
Left out here: 100 versions. The JSON record has them.