CVE-2026-93523: 
Rocky Linux vulnerability analysis and mitigation

Overview

CVE-2026-93523 is a heap out-of-bounds write vulnerability in xorg-x11-server, specifically in the ProcXIPassiveUngrabDevice() function. A local authenticated client can send a crafted input device ungrab request containing an unvalidated modifier value, causing the server to write out-of-bounds on the heap. This can result in memory corruption leading to denial of service (DoS) or potential arbitrary code execution. The vulnerability was reported on October 2, 2026, publicly disclosed on October 7, 2026, and affects xorg-x11-server (fixed in xorg-server 21.1.25 and xwayland 24.1.14). It is rated HIGH severity (Red Hat CVE, Red Hat Bugzilla).

Technical details

The root cause is an out-of-bounds write (CWE-787) in ProcXIPassiveUngrabDevice(), which passes client-supplied modifier values directly to DeletePassiveGrabFromList() without validation. DeletePassiveGrabFromList() may call DeleteDetailFromMask(), which executes BITCLEAR(mask, modifier). The mask is allocated as 8 Mask words (256 bits), so a modifier value greater than 255 causes BITCLEAR to index mask[modifier>>5] past the allocation boundary, resulting in a controlled single-bit-clear at an attacker-chosen heap offset. The fix applies the same modifier validation used by CheckGrabValues(): rejecting modifiers that are not XIAnyModifier and have bits set outside AllModifiersMask. The vulnerability was discovered by an anonymous researcher working with Trend Micro's Zero Day Initiative (ZDI-CAN-32366) (Red Hat Bugzilla).

Impact

Successful exploitation allows a local authenticated attacker to corrupt heap memory in the X server process, potentially crashing the X server (denial of service) or executing arbitrary code with X server privileges. Because the X server often runs with elevated privileges and manages graphical sessions, code execution in this context could enable privilege escalation or access to sensitive display data such as keystrokes and screen contents. The attack is limited to local authenticated users with access to the X server socket, reducing but not eliminating the risk in multi-user environments (Red Hat CVE, Red Hat Bugzilla).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time. The vulnerability requires local authenticated access to the X server, which limits the attack surface compared to remote vulnerabilities. The CVE status was "Reserved" at time of disclosure, and no CISA KEV listing has been observed. The vulnerability was discovered through the Trend Micro Zero Day Initiative (ZDI-CAN-32366), suggesting responsible disclosure prior to patch release (Red Hat CVE, Red Hat Bugzilla).

Exploitation steps

  1. Gain local access: Obtain a local authenticated session on a system running a vulnerable version of xorg-x11-server (e.g., via a shell account or compromised user credentials).
  2. Connect to the X server: Establish a connection to the X server socket (e.g., via DISPLAY environment variable pointing to :0 or another active display).
  3. Craft a malicious XIPassiveUngrab request: Construct an XIPassiveUngrabDevice protocol request containing a modifier value greater than 255 (e.g., 256 or higher), bypassing the missing input validation in ProcXIPassiveUngrabDevice().
  4. Trigger out-of-bounds write: Send the crafted request to the X server. The server passes the unvalidated modifier to DeletePassiveGrabFromList() → DeleteDetailFromMask(), which executes BITCLEAR(mask, modifier) and clears a bit at a heap offset beyond the 256-bit mask allocation.
  5. Achieve DoS or code execution: Depending on heap layout and attacker control over the offset, the controlled single-bit-clear can corrupt adjacent heap metadata or data structures, causing the X server to crash (DoS) or, with further heap grooming, potentially redirect execution flow to attacker-controlled code (Red Hat Bugzilla).

Indicators of compromise

  • Logs: X server error logs (e.g., /var/log/Xorg.0.log) showing unexpected crashes, segmentation faults, or heap corruption errors in or around ProcXIPassiveUngrabDevice or DeletePassiveGrabFromList.
  • Process: Unexpected termination or restart of the Xorg or Xwayland process; core dump files generated by the X server process in /var/crash/ or the working directory.
  • Network/Socket: Unusual or repeated connections to the X server socket (/tmp/.X11-unix/X0) from unexpected local user accounts or processes.
  • File System: Presence of core dump files (e.g., core, Xorg.core) in system directories following X server crashes, which may indicate exploitation attempts.

Mitigation and workarounds

The X.Org Foundation released fixed versions xorg-server 21.1.25 and xwayland 24.1.14 addressing this vulnerability. Red Hat addressed it for Red Hat Enterprise Linux 9 via RHSA-2026:82015. SUSE issued updates via SUSE-SU-2026:4636-1, SUSE-SU-2026:4645-1, and SUSE-SU-2026:4663-1. OpenBSD issued an errata patch. As a workaround where patching is not immediately possible, restrict local access to the X server, limit which authenticated clients can make input device requests, and consider running the X server with minimal privileges (Red Hat Errata, SUSE Advisory, Gaming on Linux).

Community reactions

The vulnerability was part of a broader set of security fixes in xorg-server 21.1.25 and xwayland 24.1.14, which were noted by the Linux gaming and open-source community as addressing "more security issues." Multiple Linux distributions including Red Hat, SUSE, openSUSE, Oracle Linux, and FreeBSD issued coordinated advisories. The oss-security mailing list carried the initial disclosure, and German Linux security outlet Pro-Linux.de covered the advisory across multiple updates. No notable individual researcher commentary or significant social media discussion beyond standard advisory coverage has been observed (Gaming on Linux, oss-sec).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

xwayland

Affected

sid

xwayland: 2:24.1.14-1

Fixed

trixie

xwayland

Affected

Ubuntu

Unknown

bionic (esm-infra)

xorg

Not Affected

devel

xorg

Not Affected

focal (esm-infra)

xorg

Not Affected

jammy

xorg

Not Affected

noble

xorg

Not Affected

resolute

xorg

Not Affected

trusty (esm-infra-legacy)

xorg-server

Unknown

xenial (esm-infra-legacy)

xorg

Not Affected

RHEL / CentOS

Fixed

RHEL 8

xorg-x11-server-Xwayland.src

Affected

RHEL 9

:appstream:xorg-x11-server-0:1.20.11-34.el9_8.4.src

Fixed

RHEL 10

xorg-x11-server-Xwayland.src

Affected

Alpine

Fixed

edge

xorg-server: 21.1.25-r0, 24.1.14-r0

Fixed

Source: This report was generated using AI

Related Rocky Linux vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-93523HIGH7.8
  • Rocky Linux logoRocky Linux
  • xorg-server
NoYesOct 07, 2026
CVE-2026-93521HIGH7.8
  • Rocky Linux logoRocky Linux
  • xorg-x11-server
NoYesOct 07, 2026
CVE-2026-88812HIGH7.8
  • Rocky Linux logoRocky Linux
  • xorg-x11-server-source
NoYesOct 07, 2026
CVE-2026-101258HIGH7.8
  • Ghostscript logoGhostscript
  • ghostscript-chinese.src
NoYesOct 06, 2026
CVE-2026-105841HIGH7.7
  • Rocky Linux logoRocky Linux
  • lrzsz.src
NoYesOct 06, 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