Skip to content
OpenAdvisories
High ALAS2023-2026-3261 11 CVEs

Important: xorg-x11-server-Xwayland security update (Amazon Linux 2023)

Published Oct 26, 2026 · Updated Oct 26, 2026

Summary

Package updates are available for Amazon Linux 2023 that fix the following vulnerabilities: CVE-2026-93536: GestureBuildSprite() copies raw WindowPtr values into the gesture sprite trace via CopySprite() without any reference counting or lifetime management. WindowGone() only repairs touch sprite traces when a window is destroyed -- gesture sprite traces are never checked or cleaned. This leaves stale WindowPtr references in gesture sprites. When DeliverOneGestureEvent() later dereferences the stale WindowPtr via DeepestSpriteWin(&gi->sprite)->drawable.id, it produces a use-after-free. The freed 4 bytes (drawable.id) can be read back, potentially leaking information about the contents of the freed memory region. NOTE: https://lists.x.org/archives/xorg-announce/2026-October/003747.html NOTE: Fixed by: https://gitlab.freedesktop.org/xorg/xserver/-/commit/4c9c345d2a10baf956fdefa83bb88681f7c840cf (xorg-server-21.1.25) CVE-2026-93524: CheckKeySyms() in xkb/xkb.c populates a symsPerKey[] validation array with new key widths for keys in the SetMap request range, then continues filling entries for keys beyond the range. However, the second loop starts at index i = nKeySyms (the first loop's counter) rather than i = firstKeySym + nKeySyms. When firstKeySym is large and nKeySyms is small, the second loop overwrites symsPerKey[target] with the old width from the existing map. CheckKeyActions() then validates the wire action count against the stale old width and accepts it. In _XkbSetMap(), SetKeySyms() widens the key (resizing actions to nGroups * newWidth), but SetKeyActions() then 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. The overread bytes are copied into the GetMap reply and sent back to the requesting client, producing a bounded heap information disclosure. NOTE: https://lists.x.org/archives/xorg-announce/2026-October/003747.html NOTE: Fixed by: https://gitlab.freedesktop.org/xorg/xserver/-/commit/927ee1282d21550807619521bee909ef62ed0571 (xorg-server-21.1.25) CVE-2026-93523: The XI2 passive ungrab path (XIPassiveUngrabDevice) is missing the modifier validation that exists in the grab path and in legacy XI paths. Without checking against AllModifiersMask, a client can supply out-of-range modifier values that lead to an out-of-bounds write when the modifier is used as an index. An authenticated X client can trigger this by sending an XIPassiveUngrabDevice request with an out-of-range modifier value. The out-of-bounds write can lead to arbitrary code execution or denial of service. NOTE: https://lists.x.org/archives/xorg-announce/2026-October/003747.html NOTE: Fixed by: https://gitlab.freedesktop.org/xorg/xserver/-/commit/aa56160fa213d8767e7da0c076b5c8242703313b (xorg-server-21.1.25) CVE-2026-93522: In glamor's CopyArea CPU-to-FBO path, the temporary buffer (tmp_bits) is sized based on the destination height but is indexed using source coordinates. When the source region is taller than the destination, writes overflow the allocated buffer. An authenticated X client can trigger this by performing a CopyArea operation between drawables with mismatched depth (depth-24 to depth-32 or vice versa) where the source is taller than the destination, on a system using glamor/GPU acceleration. The heap buffer overflow can lead to arbitrary code execution or denial of service. This issue does not affect xorg-server-21.1.x Fixed in: xwayland-24.1.14 Fix: https://gitlab.freedesktop.org/xorg/xserver/-/commit/ad26c26bf795 CVE-2026-93521: In RRChangeProviderProperty() with PrependMode, new_value.size is set to len instead of total_len. Additionally, the old_data offset calculation uses prop_value->size instead of len for the memcpy of existing data. This causes a heap buffer overflow when prepending property data, as the buffer is undersized and the copy offset is incorrect. This mirrors a bug pattern that was previously fixed in RRChangeOutputProperty but was not applied to the provider property path. An authenticated X client can trigger this by sending RandR ChangeProviderProperty requests with PrependMode on a system with RandR providers (standard on modern GPUs). The heap buffer overflow can lead to arbitrary code execution or denial of service. Fixed in: xorg-server-21.1.25 and xwayland-24.1.14 Fix: https://gitlab.freedesktop.org/xorg/xserver/-/commit/5dc9efd5a199 CVE-2026-93519: Input_constrain_cursor() writes barrier events into a fixed-size buffer without checking bounds. When more than 100 pointer barriers are active, the writes overflow the fixed buffer on the stack or heap. An authenticated X client can trigger this by creating more than 100 pointer barriers (using the XFIXES extension) and then generating pointer motion events (e.g. via XTEST). Both extensions are enabled by default. The buffer overflow can lead to arbitrary code execution or denial of service. NOTE: https://lists.x.org/archives/xorg-announce/2026-October/003747.html NOTE: Fixed by: https://gitlab.freedesktop.org/xorg/xserver/-/commit/9c3880d0745acefc98ed37e79498dfbe558a0f40 (xorg-server-21.1.25) CVE-2026-93518: In XkbResizeKeyType(), the size_syms variable is declared as unsigned short. The expression (nTotal * 15) / 10 can exceed 65535 for large nTotal values, and the result is truncated when assigned to the unsigned short variable. This causes an undersized allocation, and subsequent writes overflow the heap buffer. An authenticated X client can trigger this by sending XKB requests that cause a key type resize with a sufficiently large nTotal value. The heap buffer overflow resulting from the truncated allocation can lead to arbitrary code execution or denial of service. NOTE: https://lists.x.org/archives/xorg-announce/2026-October/003747.html NOTE: Fixed by: https://gitlab.freedesktop.org/xorg/xserver/-/commit/558ba8f784b0f5d4d96948051b2f04c983af20cc (xorg-serv

Fixed packages 4

ReleasePackageFixed in
Amazon Linux · 2023 xorg-x11-server-Xwayland 0:24.1.3-1.amzn2023.0.7
Amazon Linux · 2023 xorg-x11-server-Xwayland-debuginfo 0:24.1.3-1.amzn2023.0.7
Amazon Linux · 2023 xorg-x11-server-Xwayland-debugsource 0:24.1.3-1.amzn2023.0.7
Amazon Linux · 2023 xorg-x11-server-Xwayland-devel 0:24.1.3-1.amzn2023.0.7

Vulnerabilities 11

  • High 8.5

    X.Org Server GLX RenderLarge Heap Buffer Overflow

    A heap buffer overflow in handling GLX RenderLarge request where dataBytes exceeds cmdlen in X.org X server before 21.1.25 and XWayland before 24.1.14 that could be be triggered by an authenticated X client could cause crashes or code execution in X server co…

  • High 7.8

    X.Org Server XKB SetGeometry TextDoodad Double Free

    A double free in XKB SetGeometryin X.Org X Server before 21.1.25 and X Wayland before 24.1.14 could be used by attached clients to cause a crash or potentially code in the x server context.

  • High 7.8

    X.Org Server XKB ResizeKeyType Numeric Truncation

    An integer truncation issue in XkbResizeKeyType() that could lead to a heap buffer overflow by authenticated X clients in X.org X server before 21.1.25 and XWayland before 24.1.14 could be exploited for crashes or potential code execution in the X server.

  • High 7.8

    X.Org Server XFixes Pointer Barrier Event List Buffer Overflow

    A buffer overflow when handling pointer barriers in the XFIXES extension in X.Org X server before 21.1.25 and XWayland before 24.1.14 could be used by authenticated X clients to crash or potentially execute code in X server context.

  • High 7.8

    X.Org Server RandR ChangeProviderProperty Heap Buffer Overflow

    A buffer overflow in RandR ChangeProviderProperty requests in X.Org X Server before 2.1.25 and XWayland before 24.4.14 could be used by authenticated X clients to crash or execute code within the X server context.

  • High 7.8

    X.Org Server Glamor CopyArea Heap Buffer Overflow

    A heap buffer overflow caused by mismatched size usage in CopyArea CPU-to-FBO path in X.Org X Server before 21.1.15 and XWayland before 24.1.14 could be used by authenticated X clients to crash or potentially execute code in the X server context.

  • High 7.8

    X.Org Server XInput2 PassiveUngrabDevice Out-of-Bounds Write

    A heap buffer overflow caused by a XIPassiveUngrabDevice request with an out-of-range modifier value in X.Org X Server before 21.1.15 and XWayland before 24.1.14 could be used by authenticated X clients to crash or potentially execute code in X server context.

  • Medium 6.9

    X.Org Server XKB SetMap Key Width/Action Count Desync Out-Of-Bounds Read

    A buffer overread in CheckKeySyms() in X.Org X Server before 21.1.25 and XWayland before 24.1.14 could be used by authenticated X clients to leak small amounts of information from X server memory or potentially crash the X server.

  • Medium 6.8

    .Org Server Present Extension Use-After-Free

    A use-after-free in present_clear_window_notifies() in the X.org X Server before 21.1.25 and X Wayland before 24.1.14 could be used by malicious X clients to crash or potentially execute code in the X server context.

  • Medium 5.5

    .Org Server XInput Passive Grab Use-After-Free

    A use-after-free caused by lack of lifecycle management when adding / removing XInput master devices in X.org X Server before 21.1.25 and XWayland before 24.1.14 could be used by authenticated X Clients to crash the X server or potentially execute code in X s…

  • Medium 5.3

    X.Org Server GestureBuildSprite Use-After-Free

    A use after free caused by missing lifecycle management of gesture sprites in GestureBuildSprite() in X.Org X Server before 21.1.25 and XWayland before 24.1.14 could be used by authenticated X clients to crash the X server or potentially execute code.

References

  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-88812.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93515.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93516.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93517.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93518.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93519.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93521.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93522.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93523.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93524.html
  • web
    https://alas.aws.amazon.com/cve/html/CVE-2026-93536.html