CVE-2026-88924
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2026-88924 is a Time-of-Check Time-of-Use (TOCTOU) race condition vulnerability in the admin backend of gvfs (GNOME Virtual File System) that enables local privilege escalation to root. The privileged gvfsd-admin daemon uses a link-following chown() call on a pathname inside a user-controlled directory, which can be exploited by swapping the socket path with a symlink to a root-owned file. The vulnerability affects gvfs versions 1.48.1 and newer, and is confirmed to affect Red Hat Enterprise Linux products. It carries a CVSS v3.1 base score of 7.0 (High) (Red Hat Advisory, GitHub Advisory).

Technical details

The root cause is CWE-367 (Time-of-check Time-of-use Race Condition): the gvfsd-admin daemon creates private D-Bus sockets and calls chown() on the socket pathname without using symlink-safe alternatives (e.g., fchown() on an open file descriptor). An attacker can use inotify to detect the moment the socket is created, then atomically replace the socket path with a symbolic link pointing to an arbitrary root-owned file such as /etc/pam.d/su. The daemon subsequently follows the symlink and reassigns ownership of the targeted file to the attacker's UID, enabling modification of critical system files. Exploitation requires local access, low privileges, and the ability to win a timing race, which increases attack complexity but does not prevent reliable exploitation (Red Hat Advisory, Red Hat Bugzilla).

Impact

Successful exploitation allows an authenticated local attacker to change the ownership of arbitrary root-owned files (e.g., /etc/pam.d/su, /etc/sudoers) to their own UID, enabling unrestricted modification of those files and achieving full local privilege escalation to root. This results in complete compromise of confidentiality, integrity, and availability on the affected system. Once root is obtained, an attacker can install persistent backdoors, exfiltrate sensitive data, disable security controls, or pivot to other systems on the network (Red Hat Advisory, GitHub Advisory).

Exploitability

The NVD SSVC assessment classifies exploitation status as "poc" (proof-of-concept), though Feedly's analysis of the referenced GNOME GitLab issue (https://gitlab.gnome.org/GNOME/gvfs/-/issues/875) found no confirmed working exploit code in the linked content. There is no evidence of in-the-wild exploitation at this time, and the CVE is not listed in the CISA KEV catalog. The EPSS score is 0.0, reflecting low current exploitation probability. Exploitation is not automatable due to the requirement for local access and the need to win a timing race condition (Red Hat Advisory, GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Confirm the target system runs gvfs 1.48.1 or newer and that the gvfsd-admin daemon can be started by the attacker's user account (check Polkit rules).
  2. Set up inotify watch: Use inotify_add_watch() (or the inotifywait tool) to monitor the user-controlled directory where gvfsd-admin creates its private D-Bus socket files.
  3. Trigger socket creation: Initiate an action that causes gvfsd-admin to create a new D-Bus socket in the monitored directory (e.g., by invoking a GNOME admin file operation).
  4. Race the TOCTOU window: Upon receiving the inotify IN_CREATE event for the socket file, atomically replace the socket path with a symbolic link pointing to a target root-owned file (e.g., /etc/pam.d/su) using rename() or similar atomic operations.
  5. Daemon follows symlink: The gvfsd-admin daemon calls chown() on the now-replaced pathname, following the symlink and changing ownership of the target root-owned file to the attacker's UID.
  6. Modify critical file: With ownership of the target file (e.g., /etc/pam.d/su) transferred to the attacker's UID, write a modified version that grants root access (e.g., adding a permissive PAM rule).
  7. Escalate to root: Execute the targeted command (e.g., su) to gain a root shell (Red Hat Bugzilla, Red Hat Advisory).

Indicators of compromise

  • File System: Unexpected ownership changes on critical system files such as /etc/pam.d/su, /etc/sudoers, or other root-owned authentication configuration files (detectable via stat or file integrity monitoring tools like AIDE or Tripwire).
  • File System: Presence of symbolic links in user-writable directories that point to system files under /etc/pam.d/, /etc/, or similar privileged paths.
  • Logs: Audit log entries (/var/log/audit/audit.log) showing chown syscalls on sensitive files initiated by the gvfsd-admin process where the target file is not a D-Bus socket.
  • Logs: PAM or authentication log entries (/var/log/secure, /var/log/auth.log) showing unexpected privilege escalation events (e.g., su succeeding without password).
  • Process: Unusual child processes spawned from gvfsd-admin or unexpected inotifywait processes running under a non-root user account.
  • Network: Outbound connections from the compromised host to unknown external IPs following a local privilege escalation event.

Mitigation and workarounds

Red Hat recommends two interim mitigations while a patch is pending: (1) adjust Polkit rules to require password authentication before gvfsd-admin can be started, preventing unprivileged users from triggering the vulnerable code path; or (2) remove execute permissions from the gvfsd-admin binary (chmod 0 /usr/libexec/gvfsd-admin) to prevent execution entirely. Additionally, administrators should monitor system file ownership and integrity using tools like AIDE or auditd rules targeting chown syscalls on sensitive files. A patch is listed as available per the GitHub Advisory, but specific fixed version numbers have not yet been published in the referenced sources (Red Hat Advisory, GitHub Advisory).

Community reactions

Red Hat, as the CVE Naming Authority (CNA) for this vulnerability, has published a detailed advisory and credited the researcher "lain" for reporting the issue. The vulnerability was reported via Red Hat Bugzilla (Bug 2531456) and a corresponding GNOME GitLab issue (#875). No notable public researcher commentary or significant social media discussion has been identified at this time beyond standard CVE aggregator coverage (Red Hat Advisory, Red Hat Bugzilla).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

gvfs

Affected

sid

gvfs

Affected

trixie

gvfs

Affected

Ubuntu

Unknown

bionic (esm-infra)

gvfs

Unknown

devel

gvfs

Unknown

focal (esm-infra)

gvfs

Unknown

jammy

gvfs

Unknown

noble

gvfs

Unknown

resolute

gvfs

Unknown

xenial (esm-infra-legacy)

gvfs

Unknown

RHEL / CentOS

Affected

RHEL 8

gvfs.src

Affected

RHEL 9

gvfs.src

Affected

RHEL 10

gvfs.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-44950CRITICAL9.5
  • Rocky Linux logoRocky Linux
  • libXfont-debuginfo
NoYesSep 10, 2026
CVE-2026-59679CRITICAL9.2
  • Rocky Linux logoRocky Linux
  • libXfont2-doc
NoYesSep 10, 2026
CVE-2026-88924HIGH7
  • Linux Debian logoLinux Debian
  • gvfs-afp
NoNoSep 10, 2026
CVE-2026-87933MEDIUM5.5
  • Linux Debian logoLinux Debian
  • cjson
NoNoSep 10, 2026
CVE-2026-61915MEDIUM4.2
  • Linux Debian logoLinux Debian
  • cyrus-imapd-doc-extra
NoNoSep 09, 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