CVE-2026-93524: 
TigerVNC 脆弱性分析と緩和策

概要

CVE-2026-93524 is a buffer over-read vulnerability in the CheckKeySyms() function within the X Keyboard Extension (XKB) handling code (xkb/xkb.c) of X.Org X Server and XWayland. It affects X.Org X Server before version 21.1.25 and XWayland before version 24.1.14. Authenticated X clients can exploit this flaw to leak small amounts of heap memory from the X server or potentially crash it. The vulnerability was disclosed on October 7, 2026, and carries a CVSS v3.1 base score of 3.3 (Low) and a CVSS v4.0 base score of 6.9 (Medium) (Red Hat CVE, GitHub Advisory).

技術的詳細

The root cause is an indexing inconsistency in CheckKeySyms() (CWE-125/CWE-126: Out-of-bounds Read / Buffer Over-read). The function contains two loops: the first processes keys in the SetMap request range using a zero-based index offset by req->firstKeySym, but the second loop — intended to fill in keys outside the request range from the existing map — incorrectly restarts at the raw loop counter i rather than req->firstKeySym + req->nKeySyms. When firstKeySym is large and nKeySyms is small, the second loop overwrites the newly computed symsPerKey[] widths with stale values from the existing keymap. CheckKeyActions() then validates the wire action count against the stale width and accepts it; SetKeySyms() widens the key (resizing actions to nGroups * newWidth), but SetKeyActions() resizes again to the old count. A subsequent XkbGetMap request reads XkbKeyNumActions() entries — derived from the new, wider key_sym_map.width — from the shorter action allocation, causing an out-of-bounds heap read whose bytes are copied into the GetMap reply and returned to the client. The fix (a single line: i = req->firstKeySym + req->nKeySyms; before the second loop) was committed to the xserver repository (Red Hat Bugzilla, GitHub Advisory).

影響

Successful exploitation allows an authenticated local X client to read a bounded amount of heap memory from the X server process, potentially exposing sensitive in-memory data such as cryptographic material, credentials, or other process state. Additionally, the vulnerability can be used to crash the X server, causing a denial of service for all users of the display session. The impact is limited to the local system and requires an authenticated X client connection; there is no known path to remote exploitation or privilege escalation (Red Hat CVE, GitHub Advisory).

利用可能性

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time (Red Hat CVE). The vulnerability was discovered by WONJOON HWANG (@joon1337) working with TrendAI Zero Day Initiative (ZDI-CAN-32408) and responsibly disclosed (Red Hat Bugzilla). The EPSS score is approximately 0.177%, indicating a low probability of exploitation in the near term. The CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

エクスプロイテーションのステップ

  1. Gain authenticated X client access: Obtain a local user account on the target system with access to the X display (e.g., via SSH with X forwarding, or a local shell session).
  2. Craft a malicious XKB SetMap request: Construct an XkbSetMap request with a large firstKeySym value and a small nKeySyms value. This triggers the indexing bug in CheckKeySyms(), causing the second loop to overwrite newly computed symsPerKey[] entries with stale widths from the existing keymap.
  3. Trigger the desynchronization: Send the crafted XkbSetMap request to the X server. The stale width causes CheckKeyActions() to accept an action count based on the old (narrower) key width, while SetKeySyms() widens the key to the new width — creating a mismatch between the action allocation size and the recorded key width.
  4. Issue an XkbGetMap request: Send a follow-up XkbGetMap request for the affected key. The server reads XkbKeyNumActions() entries (based on the new, wider width) from the shorter action allocation, performing an out-of-bounds heap read.
  5. Receive leaked heap data: The overread bytes are copied into the GetMap reply and returned to the client, disclosing a bounded amount of X server heap memory. Repeat with varying parameters to maximize information disclosure (Red Hat Bugzilla).

妥協の兆候

  • Logs: Unusual or repeated XkbSetMap and XkbGetMap requests in X server logs, particularly with atypical firstKeySym/nKeySyms parameter combinations; X server crash logs or core dumps referencing xkb/xkb.c or CheckKeySyms.
  • Process: Unexpected X server crashes (Xorg or Xwayland process termination) without a clear user-initiated cause, potentially indicating exploitation attempts that trigger the denial-of-service path.
  • File System: Core dump files (e.g., core, Xorg.core) in /var/log/, /tmp/, or the X server working directory following unexpected crashes.

緩和策と回避策

Upgrade X.Org X Server to version 21.1.25 or later, and XWayland to version 24.1.14 or later, which contain the one-line fix to CheckKeySyms() in xkb/xkb.c. Patches are available from Red Hat, SUSE, openSUSE, Amazon Linux, Oracle Linux, and other downstream distributors (Red Hat CVE, SUSE Advisory). As a workaround where patching is not immediately possible, restrict local access to the X server to trusted users only and consider disabling or limiting XKB functionality if it is not required in your environment (Red Hat Bugzilla).

コミュニティの反応

The vulnerability was part of a broader X.Org security release (X Server 21.1.25 / XWayland 24.1.14) that addressed 12 CVEs, nine of which allowed arbitrary code execution, drawing significant attention from the Linux security community (Help Net Security, Gaming on Linux). CVE-2026-93524 itself received less individual attention due to its lower severity compared to the RCE-class bugs in the same release. Multiple Linux distributions including SUSE, openSUSE, Amazon Linux, Oracle Linux, and FreeBSD issued advisories and updated packages promptly following the upstream release.

追加リソース

Linuxディストリビューションの修正状況

主要なLinuxディストリビューションとそのリリース間での可用性を修正しましょう。

Debian

修正済

bookworm

xwayland

影響

sid

xwayland: 2:24.1.14-1

修正済

trixie

xwayland

影響

Ubuntu

不明

bionic (esm-infra)

xorg

影響なし

devel

xorg

影響なし

focal (esm-infra)

xorg

影響なし

jammy

xorg

影響なし

noble

xorg

影響なし

resolute

xorg

影響なし

trusty (esm-infra-legacy)

xorg-server

不明

xenial (esm-infra-legacy)

xorg

影響なし

RHEL / CentOS

影響

RHEL 8

tigervnc.src

影響

RHEL 9

tigervnc.src

影響

RHEL 10

xorg-x11-server-Xwayland.src

影響

Alpine

修正済

edge

xorg-server: 21.1.25-r0, 24.1.14-r0

修正済

ソース: この報告書はAIを用いて作成されました

関連 TigerVNC 脆弱性:

CVE ID

重大度

スコア

テクノロジー

コンポーネント名

CISA KEVのエクスプロイト

修正あり

出版日

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

無料脆弱性評価

クラウドセキュリティの姿勢をベンチマークしましょう

9つのセキュリティ領域にわたるクラウドセキュリティの実践を評価し、リスクレベルをベンチマークし、防御のギャップを特定しましょう。

評価のリクエスト

Wizのその他のリソース

パーソナライズされたデモを見る

実際に Wiz を見てみませんか?​

"私が今まで見た中で最高のユーザーエクスペリエンスは、クラウドワークロードを完全に可視化します。"
デビッド・エストリックCISO (最高情報責任者)
"Wiz を使えば、クラウド環境で何が起こっているかを 1 つの画面で確認することができます"
アダム・フレッチャーチーフ・セキュリティ・オフィサー
"Wizが何かを重要視した場合、それは実際に重要であることを私たちは知っています。"
グレッグ・ポニャトフスキ脅威および脆弱性管理責任者