CVE-2026-93536: 
TigerVNC Análise e mitigação de vulnerabilidades

Visão geral

CVE-2026-93536 is a use-after-free vulnerability in the X.Org X Server and XWayland arising from missing lifecycle management of gesture sprites in GestureBuildSprite(). It affects X.Org X Server before version 21.1.25 and XWayland before version 24.1.14. The vulnerability was reported on October 7, 2026, and published to the NVD on October 28, 2026. It carries a CVSS v3.1 base score of 5.3 (Medium) (Red Hat CVE, GitHub Advisory).

Detalhes técnicos

The root cause is that GestureBuildSprite() copies raw WindowPtr values into gesture sprite traces via CopySprite() without any reference counting or lifetime management (CWE-825: Expired Pointer Dereference; CWE-122: Heap-based Buffer Overflow). When a window is destroyed, WindowGone() only cleaned up touch sprite traces — gesture sprite traces were never checked, leaving stale WindowPtr references. When DeliverOneGestureEvent() subsequently dereferences the stale pointer via DeepestSpriteWin(&gi->sprite)->drawable.id, a use-after-free occurs, potentially leaking 4 bytes of freed memory contents. The vulnerability was discovered by researcher 4nibhal working with TrendAI Zero Day Initiative (ZDI-CAN-32753), and the fix modifies WindowGone() in Xi/exevents.c to also truncate gesture sprite traces when a window is removed. Exploitation requires local access with low privileges and has high attack complexity (Red Hat Bugzilla, GitHub Advisory).

Impacto

A local attacker with low privileges can trigger this vulnerability without user interaction to cause a denial of service (X server crash) or potentially leak sensitive information from freed memory regions. The freed drawable.id field (4 bytes) can be read back, exposing heap memory contents to the attacker. In more severe scenarios, the use-after-free condition could potentially be leveraged for arbitrary code execution, though this requires high attack complexity. The scope is limited to the affected X server instance and does not directly enable lateral movement (Red Hat Bugzilla, Red Hat CVE).

Explorabilidade

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of reporting (Red Hat CVE). The vulnerability was responsibly disclosed through the Zero Day Initiative (ZDI-CAN-32753) by researcher 4nibhal. The EPSS score is approximately 0.166% (6th percentile), indicating a low near-term exploitation probability (GitHub Advisory). The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. High attack complexity and the requirement for local authenticated access further reduce practical exploitability.

Etapas de exploração

  1. Gain local access: Obtain a low-privilege authenticated session on a system running a vulnerable X.Org X Server (before 21.1.25) or XWayland (before 24.1.14).
  2. Establish an X client connection: Connect to the X server as an authenticated X client using standard X11 APIs or toolkits.
  3. Initiate a gesture sequence: Trigger an active gesture event on a target window, causing GestureBuildSprite() to copy WindowPtr references into the gesture sprite trace without reference counting.
  4. Destroy the target window: While the gesture is still active, destroy or unmap the window whose pointer was captured in the gesture sprite trace. WindowGone() will not clean up the gesture sprite trace, leaving a dangling WindowPtr.
  5. Trigger the use-after-free: Cause DeliverOneGestureEvent() to be invoked, which dereferences the stale WindowPtr via DeepestSpriteWin(&gi->sprite)->drawable.id, reading 4 bytes from freed memory — potentially leaking heap contents or causing a crash (Red Hat Bugzilla).

Indicadores de compromisso

  • Logs: Unexpected X server crash logs or core dumps referencing DeliverOneGestureEvent() or exevents.c; X server error logs showing segmentation faults or invalid memory access during gesture event processing.
  • Process: Abnormal termination of the X server process (Xorg or Xwayland) coinciding with gesture input activity; unexpected child processes spawned from the X server.
  • File System: Core dump files (e.g., core, Xorg.core) in the X server working directory following a crash during gesture handling.
  • Network/Session: Unusual or repeated X client connections from low-privilege local users followed by window creation/destruction cycles during active gesture sessions.

Mitigação e soluções alternativas

Update X.Org X Server to version 21.1.25 or later, and XWayland to version 24.1.14 or later, which include the fix in Xi/exevents.c that extends WindowGone() to also clean up gesture sprite traces. The upstream patch is available at the X.Org GitLab repository (commit efcfd8acc754c5ac4b2555ff375dd5101d735b0a). As a workaround where patching is not immediately possible, restrict local user access to the X server and monitor for unexpected X server crashes. Distribution-specific updates are available from Red Hat, SUSE, openSUSE, Amazon Linux, and others (Red Hat Bugzilla, GitHub Advisory, SUSE Advisory).

Reações da comunidade

The vulnerability was part of a broader X.Org security release that patched 12 CVEs simultaneously, attracting coverage from Linux-focused outlets such as Gaming on Linux, Help Net Security, and Linux Compatible, which highlighted the significance of the batch security update (Gaming on Linux, Help Net Security). Security researchers noted that nine of the twelve patched CVEs allowed arbitrary code execution, placing this vulnerability in a broader context of significant X server security concerns. Vendor responses were prompt, with SUSE, Red Hat, Amazon Linux, and openSUSE all issuing distribution updates shortly after the upstream release.

Recursos adicionais

Status correto da distribuição Linux

Corrija a disponibilidade entre as principais distribuições Linux e seus lançamentos.

Debian

Fixo

bookworm

xwayland

Afetado

sid

xwayland: 2:24.1.14-1

Fixo

trixie

xwayland

Afetado

Ubuntu

Desconhecido

bionic (esm-infra)

xorg

Não Afetado

devel

xorg

Não Afetado

focal (esm-infra)

xorg

Não Afetado

jammy

xorg

Não Afetado

noble

xorg

Não Afetado

resolute

xorg

Não Afetado

trusty (esm-infra-legacy)

xorg-server

Desconhecido

xenial (esm-infra-legacy)

xorg

Não Afetado

RHEL / CentOS

Afetado

RHEL 8

tigervnc.src

Afetado

RHEL 9

tigervnc.src

Afetado

RHEL 10

xorg-x11-server-Xwayland.src

Afetado

Alpine

Fixo

edge

xorg-server: 21.1.25-r0, 24.1.14-r0

Fixo

Origem: Este relatório foi gerado usando IA

Relacionado TigerVNC Vulnerabilidades:

CVE ID

Gravidade

Pontuação

Tecnologias

Nome do componente

Exploit CISA KEV

Tem correção

Data de publicação

CVE-2026-93523HIGH7.8
  • TigerVNC logoTigerVNC
  • xwayland
NãoSimOct 28, 2026
CVE-2026-93521HIGH7.8
  • TigerVNC logoTigerVNC
  • tigervnc-server
NãoSimOct 28, 2026
CVE-2026-93520HIGH7.8
  • TigerVNC logoTigerVNC
  • xorg-x11-server-common
NãoSimOct 28, 2026
CVE-2026-93524MEDIUM6.9
  • TigerVNC logoTigerVNC
  • xorg-x11-server-common
NãoSimOct 28, 2026
CVE-2026-93536MEDIUM5.3
  • TigerVNC logoTigerVNC
  • xorg-x11-server-Xephyr-debuginfo
NãoSimOct 28, 2026

Avaliação Gratuita de Vulnerabilidades

Avalie a sua postura de segurança na nuvem

Avalie suas práticas de segurança em nuvem em 9 domínios de segurança para avaliar seu nível de risco e identificar lacunas em suas defesas.

Avaliação de solicitação

Recursos adicionais da Wiz

Marque uma demonstração personalizada

Pronto para ver a Wiz em ação?

"A melhor experiência do usuário que eu já vi, fornece visibilidade total para cargas de trabalho na nuvem."
David EstlickCISO
"A Wiz fornece um único painel de vidro para ver o que está acontecendo em nossos ambientes de nuvem."
Adam FletcherDiretor de Segurança
"Sabemos que se a Wiz identifica algo como crítico, na verdade é."
Greg PoniatowskiChefe de Gerenciamento de Ameaças e Vulnerabilidades