Skip to main content

X.Org X Server CVE-2026-93516

HIGH
2026-10-07
View

Attack ChainAIDerived

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

  1. Access
    Connect as authenticated X client
  2. Delivery
    Create XI2 passive grab with master as modifierDevice
  3. Exploit
    Call XIRemoveMaster to free device
  4. Execution
    Trigger operation dereferencing dangling pointer
  5. Persist
    Use-after-free corrupts heap
  6. Impact
    Crash or execute code in X server

Vulnerability Assessment

Exploitation Conditions

Requires an authenticated client connection to the X server/Xwayland display plus the XInput2 (XI2) extension, which is enabled by default. The specific precondition is the ability to add and remove master devices: the attacker creates a passive grab whose modifierDevice is a master device, then issues XIRemoveMaster to free that device, after which any input operation dereferencing the stale pointer triggers the use-after-free. Limiting factors: exploitation is not remote-unauthenticated - it needs a valid X session/display access (typically local, since modern X servers do not listen on TCP by default), and reliable arbitrary code execution (versus a simple crash) requires heap-layout control; affected only when running X server builds prior to xorg-server-21.1.25 or Xwayland prior to xwayland-24.1.14.

Impact

No CVSS vector, EPSS score, KEV entry, SSVC decision, or public POC is provided in the input, so the quantitative exploitation signals are entirely absent and cannot be compared - this assessment rests on the X.Org advisory text alone. Qualitatively, the flaw is a use-after-free in the X server/Xwayland XInput (XI2) passive-grab handling where GrabRec holds a raw, unmanaged DeviceIntPtr to a modifierDevice that becomes dangling after XIRemoveMaster frees the master device; the advisory states this can lead to denial of service (crash) or potentially arbitrary code execution. The advisory describes the attacker as an 'authenticated X client' with the ability to add and remove master devices, but because no CVSS vector is supplied I cannot formally confirm the privilege level per the precision rules - treat the 'authenticated' qualifier as advisory-stated, not CVSS-confirmed. Realistically this is a local privilege-escalation / DoS primitive: an X client already connected to the display can escalate toward code execution in the X server process (frequently privileged), which is a meaningful priority on multi-user or sandbox-escape scenarios rather than a remote-internet threat, since modern X servers do not listen on TCP by default. Absence of EPSS/KEV/POC is expected for a freshly disclosed (2026-10-07) ZDI-reported issue and should NOT be read as low risk - it reflects missing data, not confirmed low exploitability.

Exploit ScenarioDerived

A local user (or a compromised sandboxed process) with a connection to the X display creates an XI2 passive grab that references a master pointer/keyboard as its modifier device, then calls XIRemoveMaster to free that device, leaving the grab record holding a dangling pointer. Subsequent input processing dereferences the freed modifierDevice, crashing the X server or, with heap grooming, steering the use-after-free toward arbitrary code execution in the (often root-privileged) server process. No public exploit is identified at time of analysis, though the bug was found by the Trend/ZDI program (ZDI-CAN-31832).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 07, 2026

A use-after-free in the XInput2 passive grab handling of X.Org X server builds prior to xorg-server-21.1.25 and Xwayland prior to xwayland-24.1.14 allows an authenticated client that can add and remove XI2 master devices to crash the server or potentially achieve arbitrary code execution. The attacker creates a passive grab whose modifierDevice points at a master device, then calls XIRemoveMaster to free that device; the grab retains a dangling DeviceIntPtr that later input processing dereferences, corrupting the heap. Reaching the vulnerable code requires a valid client connection to the X server or Xwayland (typically local, since modern X servers do not listen on TCP by default) and the XI2 extension, which is enabled by default; no public exploit code and no CISA KEV entry have been identified at time of analysis.

RemediationAI

Upgrade to the vendor-released fixed versions: X.Org X server 21.1.25 or later, and Xwayland 24.1.14 or later (the advisory also points to the upstream source fix at https://gitlab.freedesktop.org/xorg/xserver/-/commit/be5726341588). Because the flaw is triggered through the XInput2 extension, sites that cannot patch immediately can disable the extension with the X server's -extension XInputExtension option for single-user, fixed-input kiosk or appliance hosts - but this is a heavy workaround: it removes XI2-based hotplug, modern input-driver and touchpad handling, and breaks toolkits and compositors that rely on XI2, so it is unsuitable for general desktops. A less disruptive compensating control is to restrict who can open a client connection at all: keep -nolisten tcp in effect, tighten Xauthority cookie and abstract-socket permissions (e.g. 0700 on the X socket and per-user xhost/xauth discipline), avoid granting untrusted clients display access, and confine untrusted applications in sandboxes that proxy through a separate, patched server. Additionally, XIRemoveMaster is an administrative operation, so auditing or restricting local users permitted to run privileged XI2 device-management tooling reduces exposure, though it will not stop an attacker who already has a legitimate client connection. None of these compensating controls address the underlying dangling pointer, and each carries the trade-off noted above - patching to xorg-server 21.1.25 / xwayland 24.1.14 remains the only complete fix.

Affected ProductsAI

The issue affects X.Org X server releases prior to xorg-server-21.1.25 and Xwayland releases prior to xwayland-24.1.14; the advisory covers both code bases because the XInput/grab logic is shared. Any deployment in which untrusted or semi-trusted local clients can obtain a connection to the display - multi-user workstations, thin clients, remote-access setups that forward or proxy the X socket, and Xwayland sessions running sandboxed applications - is in scope, and exploitation additionally requires the XInput2 extension (enabled by default) plus the ability to create and destroy XI2 master devices. No CPE identifiers were provided with the source data, so affected inventory should be matched on the xorg-server (< 21.1.25) and xwayland (< 24.1.14) version strings. The vendor advisory is the oss-security posting at https://seclists.org/oss-sec/2026/q4/82, and the corresponding source fix referenced by the advisory is the upstream commit https://gitlab.freedesktop.org/xorg/xserver/-/commit/be5726341588 (note that the fix commit URLs supplied in this record's reference list, 1b6955c3108e, ad26c26bf795 and 89101a6c6618, correspond to other CVEs in the same advisory, not to CVE-2026-93516).

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

X.Org's XInput2 (XI2) extension models input as a hierarchy of master devices (the virtual pointer/keyboard that clients see) and slave devices (physical devices attached to a master). Input grabs are recorded in GrabRec structures, and for modifier grabs the record stores a raw DeviceIntPtr to the device acting as the modifier device rather than a reference-counted or generational handle. When a client calls XIRemoveMaster, the server frees the master DeviceInt object and its associated structures, but any passive grab still referencing it as modifierDevice is not updated or invalidated, leaving a dangling pointer. Any subsequent code path that dereferences that pointer reads freed memory - the classic use-after-free class (typically catalogued as CWE-416) - which in this case manifests as heap corruption that can produce either a server crash or, with sufficient heap-layout grooming, control-flow hijack in the X server process. The defect is one of a batch of memory-safety issues disclosed together in the October 07, 2026 X.Org security advisory affecting the same two code bases (xorg-server and its Wayland counterpart Xwayland, which shares the input and grab-handling code), all reported through TrendAI's Zero Day Initiative (this one as ZDI-CAN-31832). The supplied record contains no CPE strings, no CVSS vector in the vendor data, and no CWE ID; the assessed vector below was produced by our own analysis.

Know when Gitlab 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

vuln.today AI 7.8 HIGH

AV:L because X clients normally connect over a local socket (no default TCP); PR:L as a connected/authenticated X client is required; AC:L given the deterministic trigger sequence; C/I/A:H for potential code execution in the X server.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Estimated by vuln.today — no official severity rating has been published for this CVE yet.

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

CVE-2026-93516 is a use-after-free flaw in the X.Org X server (builds prior to xorg-server-21.1.25) and Xwayland (builds prior to xwayland-24.1.14), the display layers present on most Linux workstations, virtual desktop images, and Linux-based appliances. A client that already holds a connection to the display server can trigger the flaw to crash the graphical session, or potentially execute code in the server process, which in some deployments runs with elevated privileges. No vendor patch and no public exploit have been identified at time of analysis, so this is a contained but unresolved exposure that requires inventory and interim hardening rather than emergency response.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: confirm the X server is not listening on TCP and keep connections local and restricted via Xauthority/xhost policy; limit which accounts and processes can open a client connection to the display server, particularly on multi-user or shared-workstation systems; confine untrusted code (browsers, containers, sandboxed applications) so it cannot reach the X socket; prefer Wayland/Xwayland configurations with the fewest legacy X clients; monitor for unexplained X server or Xwayland crashes and treat repeat occurrences as potential exploitation attempts; and track upstream and distribution advisories for xorg-server-21.1.25 and xwayland-24.1.14 and apply them as soon as they are available and validated.

Threat Intelligence Overview

Prevalence
High
X.Org/Xwayland display server underlies most Linux desktop and workstation sessions
Data Quality
1 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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.

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2026-85706 CRITICAL POC
10.0 Sep 12

Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2026-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

CVE-2026-87719 CRITICAL POC
9.9 Sep 12

Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-93577 CRITICAL POC
9.9 Sep 23

Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over

CVE-2026-89078 CRITICAL POC
9.9 Sep 23

Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser

CVE-2026-61560 CRITICAL POC
9.8 Sep 15

Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows

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