X.Org X Server CVE-2026-93524
CRITICALAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local authenticated X client access
-
DeliverySend crafted X protocol request
-
ExploitTrigger heap memory corruption in X server
-
ExecutionExecute code in server context
-
ImpactEscalate privileges / crash display
Vulnerability Assessment
| Exploitation Conditions | Requires an authenticated X client connection to the X.Org X server or Xwayland (i.e. the attacker must already be able to open and authenticate to the local display socket), so this is a local, post-authentication primitive rather than remote unauthenticated access. For sibling issues in the same advisory, additional preconditions apply (e.g. Present and SYNC extensions enabled - on by default; XI2 master-device add/remove capability; XFIXES plus XTEST for the pointer-barrier overflow), all of which are default-enabled extensions. The specific trigger conditions for CVE-2026-93524 are not stated in the provided advisory text and should be verified against the X.Org advisory and the upstream commits. Limiting factors: attacker must already have a foothold capable of reaching the X server, affected versions are xorg-server prior to 21.1.25 and Xwayland prior to 24.1.14, and exploitation for code execution (versus crash) requires defeating heap layout protections. |
| Impact | No CVSS vector, EPSS score, KEV listing, or public POC is present in the provided data, so quantitative exploitation signals are entirely absent and risk must be inferred from the advisory text. CRITICAL CAVEAT: CVE-2026-93524 is NOT individually described in the supplied advisory body - the text enumerates CVE-2026-88812 through CVE-2026-93520 and then truncates, so the specific defect for -93524 is not visible and this assessment treats it as a member of the same October 7, 2026 X.Org batch (memory-corruption class, fixed in xorg-server-21.1.25 / xwayland-24.1.14). Across the batch, every issue explicitly requires an AUTHENTICATED X client and is triggered via crafted protocol requests to the local display server, which points to a local attack vector with low-level privileges rather than remote unauthenticated compromise - this materially lowers real-world risk versus the 'arbitrary code execution' impact wording suggests. These are credible privilege-escalation / DoS primitives (double-free, use-after-free, heap overflow) discovered by Trend/ZDI researchers, which indicates quality but NOT active exploitation. Net: a real priority for multi-user or sandbox-boundary systems where untrusted code can reach the X socket, but likely lower urgency on single-user desktops where any local X client is already running as the user. Exploitation status: no public exploit identified at time of analysis. |
| Exploit ScenarioDerived | A local or sandboxed process able to open a connection to the X server (an authenticated X client) sends a crafted sequence of protocol requests - in the batch these include malformed XKB geometry/key-type requests, GLX RenderLarge, XInput passive grabs, or XFixes pointer barriers - to corrupt server heap memory. Because the X server typically runs with elevated privileges, successful memory-corruption exploitation could escalate to code execution in the server context, while a failed or simpler attempt crashes the server (DoS). No public exploit code is identified; the issues were reported privately through Trend/ZDI. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Heap memory corruption in the X.Org X server (prior to 21.1.25) and Xwayland (prior to 24.1.14) arises from a cluster of flaws disclosed in the October 2026 X.Org security advisory, for which CVE-2026-93524 serves as the coordinating identifier. An authenticated local X client that can already open and authenticate to the display socket can trigger double-free, use-after-free, numeric-truncation and heap buffer overflow conditions across the XKB, Present, XInput, GLX and XFixes extensions, causing server crashes and - where heap layout protections are defeated - potentially arbitrary code execution. The assessed vector is CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; no public exploit code, EPSS score or CISA KEV listing was present in the source data, so no public exploit is identified at time of analysis, and the advisory text does not state the specific trigger conditions for CVE-2026-93524 itself.
RemediationAI
Vendor-released patch: upgrade to xorg-server 21.1.25 or xwayland 24.1.14, which are the versions cited as carrying the fixes for every issue in the October 2026 advisory; distribution packages should be refreshed to whichever build incorporates these upstream tags. Individual upstream fixes are identified by commit, including 1b6955c3108e (Present notify list unlinking), 89101a6c6618 (XkbResizeKeyType truncation), ad26c26bf795, 0d1b1b0bad86 (XKB TextDoodad double free), be5726341588 (XInput modifierDevice), 2abe4632d793 (GLX RenderLarge) and 1f42cc1f00d9 (XFixes pointer barriers), as catalogued at https://seclists.org/oss-sec/2026/q4/82. Where immediate upgrade is not possible, compensating controls should target the authenticated-local-client precondition: restrict who can open the X display socket by tightening xhost/xauth cookie distribution, run untrusted X clients through the X security extension or SSH X11 forwarding, and isolate sessions under separate display numbers or a nested Xwayland/Xephyr instance so a compromised client cannot reach a privileged server. Because the default-enabled extensions supply the attack surface, administrators can temporarily disable Present, SYNC, XFIXES, XTEST, XI2 device management (XIRemoveMaster) and GLX - via the X server configuration's DisableExtensions/Extensions options or the +extension/-extension command-line flags - but this breaks compositing, clipboard/pointer-barrier tooling, synthetic input used by test automation and remote-access tools, and hardware-accelerated rendering respectively, so it is a stopgap rather than a fix. Note that all of these flaws require the attacker to already hold an authenticated connection to the local display socket, so the highest-value hardening is preventing untrusted local code from reaching that socket at all.
Affected ProductsAI
Affected software is the X.Org X server at versions prior to xorg-server-21.1.25 and Xwayland at versions prior to xwayland-24.1.14, covering both the standalone Xorg display server and the Xwayland compatibility server used by Wayland compositors. No CPE strings were supplied in the source data, so exact platform package coordinates (for example distro-specific xorg-x11-server, xwayland, or xserver-xorg-core builds) must be resolved against each distribution's tracker. Because the advisory bundles multiple issues, all affected builds should be treated as vulnerable to the whole set: XKB SetGeometry TextDoodad double free (CVE-2026-88812), Present cross-window notify use-after-free (CVE-2026-93515), XInput passive grab modifierDevice use-after-free (CVE-2026-93516), GLX RenderLarge heap buffer overflow (CVE-2026-93517), XKB ResizeKeyType numeric truncation (CVE-2026-93518), XFixes pointer-barrier event list overflow (CVE-2026-93519) and XKB ChangeKeycodeRange out-of-bounds write (CVE-2026-93520). The primary vendor references are the oss-security advisory at https://seclists.org/oss-sec/2026/q4/82 and the upstream fix commits at https://gitlab.freedesktop.org/xorg/xserver/-/commit/1b6955c3108e, https://gitlab.freedesktop.org/xorg/xserver/-/commit/ad26c26bf795 and https://gitlab.freedesktop.org/xorg/xserver/-/commit/89101a6c6618.
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
The X.Org X server implements the core X11 protocol plus loadable extensions (XKB, Present, SYNC, XInput2, GLX, XFIXES, XTEST), each with its own request-parsing and memory-management paths, and Xwayland reuses the same server code inside a Wayland compositor. The advisory bundles several distinct root-cause classes: a double free in xkb/xkb.c where _CheckSetDoodad() frees doodad->text.text on an error path without NULLing the pointer so _XkbClearDoodad() frees it again (CWE-415); a use-after-free in present/present_notify.c where present_clear_window_notifies() freed window_priv without unlinking entries from the per-window list - the referenced diff replaces xorg_list_for_each_entry with xorg_list_for_each_entry_safe and adds xorg_list_del() in present_free_window_notify() (CWE-416); a use-after-free in XInput where GrabRec holds a raw DeviceIntPtr modifierDevice with no lifetime management across XIRemoveMaster (CWE-416); a heap overflow in GLX RenderLarge where the buffer is sized to cmdlen but memcpy copies dataBytes without a dataBytes <= cmdlen check (CWE-787); an undersized allocation in XkbResizeKeyType() caused by truncating (nTotal * 15) / 10 into an unsigned short (CWE-197 leading to CWE-787); a fixed-size event buffer overflow in input_constrain_cursor() once more than 100 XFIXES pointer barriers are active; and an incomplete-fix out-of-bounds write in the XKB ChangeKeycodeRange path where XkbAllocNames() sizes names->keys as max_key_code+1 while memset uses the larger MAP_LENGTH. The provided intelligence did not include CPE strings or an explicit CWE assignment for CVE-2026-93524, so the mapping above is drawn from the advisory narrative and the linked upstream diffs (present/present_notify.c, glamor/glamor_transfer.c).
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
Advisory requires an authenticated local X client (AV:L, PR:L) via straightforward crafted requests (AC:L); memory corruption in the privileged X server yields high C/I/A.
Description PRE-NVD
Articles & Coverage 1
Zero Day Initiative Advisories
Executive ViewAI
Heap memory corruption vulnerabilities in X.Org X server (prior to 21.1.25) and Xwayland (prior to 24.1.14) allow an authenticated local attacker to crash or potentially execute arbitrary code with elevated privileges. Organizations relying on these display servers for multi-user Linux workstations, thin clients, or remote desktop gateways face risk of local privilege escalation and session disruption. Without a vendor patch, leadership should prioritize access controls and monitoring to mitigate this critical local threat.
No vendor-released patch identified at time of analysis; interim mitigations include restricting local X socket access, disabling vulnerable extensions, running X server as non-root with mandatory access controls (SELinux/AppArmor), migrating to Wayland, and monitoring for crashes.
Threat Intelligence Overview
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.
What every action level means
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.
An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10
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.
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the
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
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
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)
Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha
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
Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over
Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser
Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows
CVE.org
GitHub PoC
Exploit-DB