# CVE-2026-93524: X.Org X Server buffer overread in CheckKeySyms

Source: https://junglewise.ai/threats/cve-2026-93524-a-buffer-overread-in-checkkeysyms-in-x-org-x-server-before-21-1  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-93524 · Severity: info · Published 2026-10-28

X.Org X Server is the display server that manages graphics and input for Linux and Unix systems. A bug in keyboard symbol handling allows authenticated X clients to read small amounts of sensitive memory from the server or crash it, potentially exposing configuration data or disrupting desktop sessions.

Technologies: [X.Org X Server](https://junglewise.ai/threats/technologies/x-org-x-server), [X.Org XWayland](https://junglewise.ai/threats/technologies/x-org-xwayland). Vendors: [X.Org](https://junglewise.ai/threats/vendors/x-org).

## Quick answers

**Is CVE-2026-93524 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-93524 being exploited in the wild.

**How severe is CVE-2026-93524?** Informational severity, published 28 October 2026.

**Which products and versions are affected?** X.Org X Server before 21.1.25; X.Org XWayland before 24.1.14.

**Is there a fix for CVE-2026-93524?** Yes: fixed in X Server 21.1.25, XWayland 24.1.14. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-93524 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-93524?** Check whether you run X.Org X Server or X.Org XWayland at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in X Server 21.1.25, XWayland 24.1.14

## Technical details

A buffer overread in the CheckKeySyms() function occurs due to inconsistent array indexing between two loops that process keyboard symbols. The first loop uses a zero-based index offset by req->firstKeySym, while the second loop starts at a zero-based index, causing the second loop to overwrite width values set by the first loop. This desynchronization between symsPerKey widths and action counts leads to subsequent XkbGetMap requests reading beyond allocated heap memory, leaking the bytes to the client.

## Affected products

- X.Org X Server before 21.1.25
- X.Org XWayland before 24.1.14

## Timeline

- 2026-10-28: disclosed
- 2026-09-03: patched: Commit cea71d02 in X.Org GitLab repository

## References

- [https://gitlab.freedesktop.org/xorg/xserver/-/commit/cea71d0273e4d5092aa9c6a8a770734c8935c02e](https://gitlab.freedesktop.org/xorg/xserver/-/commit/cea71d0273e4d5092aa9c6a8a770734c8935c02e)

## Related threats

- [X.Org X Server use after free in gesture sprite lifecycle](https://junglewise.ai/threats/cve-2026-93536-a-use-after-free-caused-by-missing-lifecycle-management-of)
- [X.Org X Server heap buffer overflow in XIPassiveUngrabDevice](https://junglewise.ai/threats/cve-2026-93523-a-heap-buffer-overflow-caused-by-a-xipassiveungrabdevice-request)
- [X.Org X Server heap buffer overflow in CopyArea CPU-to-FBO](https://junglewise.ai/threats/cve-2026-93522-a-heap-buffer-overflow-caused-by-mismatched-size-usage-in)
- [X.Org X Server buffer overflow in RandR ChangeProviderProperty](https://junglewise.ai/threats/cve-2026-93521-a-buffer-overflow-in-randr-changeproviderproperty-requests-in-x)
- [X.org X server heap buffer overflow in XkbAllocNames](https://junglewise.ai/threats/cve-2026-93520-a-heap-buffer-overflow-caused-by-mismatching-size-calculations)
