Logo
componentxwayland
Name
xwayland
Version
23.2.5
Type
library
Description
XWayland is an X Server that runs under Wayland.
Licenses
MIT
PURL
-
CPE
cpe:2.3:*:x.org:xwayland:23.2.5:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
kirkstone
22.1.8
master
24.1.12

Patches#


#
Title
Author
Resolve
1
dix: Dequeue pending events on frozen device on removal
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26600
2
xkb: Fix buffer overflow in _XkbSetCompatMap()
Matthieu Herrb <matthieu@herrb.eu>
CVE-2024-9632
3
sync: Do not fail SyncAddTriggerToSyncObject()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26601
4
xkb: Fix buffer overflow in XkbChangeTypesOfKey()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26597
5
randr: Check for overflow in RRChangeProviderProperty()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49180
6
xkb: Free the XKB resource when freeing XkbInterest
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-62230
7
composite: Handle failure to redirect in compRedirectWindow()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26599
8
Cursor: Refuse to free the root cursor
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26594
9
os: Account for bytes to ignore when sharing input buffer
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49178
10
xfixes: Check request length for SetClientDisconnectMode
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49177
11
sync: Check values before applying changes
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26601
12
Xi: Fix barrier device search
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26598
13
os: Check for integer overflow on BigRequest length
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49176
14
present: Fix use-after-free in present_create_notifies()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-62229
15
xkb: Prevent overflow in XkbSetCompatMap()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-62231
16
render: Avoid 0 or less animated cursors
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49175
17
record: Check for overflow in
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49179
18
xkb: Make the RT_XKBCLIENT resource private
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-62230
19
os: Do not overflow the integer size with BigRequest
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-49176
20
composite: initialize border clip even when pixmap alloc
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26599
21
dix: keep a ref to the rootCursor
Peter Hutterer <peter.hutterer@who-t.net>
CVE-2025-26594
22
xkb: Fix buffer overflow in XkbVModMaskText()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26595
23
sync: Do not let sync objects uninitialized
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26601
24
xkb: Fix computation of XkbSizeKeySyms
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26596
25
sync: Apply changes last in SyncChangeAlarmAttributes()
Olivier Fourdan <ofourdan@redhat.com>
CVE-2025-26601

Vulnerabilities#


Name
Analysis
Description
Exploitable
An out-of-bounds write flaw was found in the X.Org X server and Xwayland in DRIGetBuffers/DRIGetBuffersWithFormat. A client that requests multiple DRI2BufferBackLeft attachments and one DRI2BufferFrontLeft can trigger an out-of-bounds heap write. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A use-after-free flaw was found in the X.Org X server and Xwayland in CreateSaverWindow(). A client can trigger a use-after-free read after changing window attributes and forcing the screen saver, leading to information disclosure.
Exploitable
An out-of-bounds read flaw was found in the X.Org X server and Xwayland in __glXDisp_ChangeDrawableAttributes(). A wrong size validation check can read a client-controlled number of bytes, exceeding the request buffer, leading to information disclosure. A write path also exists but requires byte-swapped clients which is disabled by default.
Exploitable
A use-after-free flaw was found in the X.Org X server and Xwayland in SyncChangeCounter(). A client that sets up multiple SyncCounters can trigger a use-after-free when destroying those counters via a second client connection while changing those counters. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A use-after-free flaw was found in the X.Org X server and Xwayland in FreeCounter(). A client that sets up multiple SyncCounters and awaits on those triggers can trigger a use-after-free when destroying those counters via a second client connection. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A stack-based buffer overflow flaw was found in the X.Org X server and Xwayland. _XkbSetMapChecks() declares a fixed-size stack buffer mapWidths[256] indexed by key type index. The helper function CheckKeyTypes() writes to this buffer at a client-controlled offset, allowing a stack buffer overflow. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A stack-based buffer overflow flaw was found in the X.Org X server and Xwayland. The X server has multiple stack buffers sized XkbMaxShiftLevel * XkbNumKbdGroups but CheckKeyTypes() does not verify or clamp non-canonical key types to XkbMaxShiftLevel. A client can change key types to excessive shift levels and trigger stack overflows. This is caused by an incomplete fix of CVE-2025-26597. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A use-after-free flaw was found in the X.Org X server and Xwayland in miSyncDestroyFence(). A client that sets up multiple fence triggers can trigger a use-after-free function pointer call. An attacker would connect to the X server to set up a fence and await that fence, then a second X connection destroys the fence, causing the use-after-free. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Exploitable
A stack-based buffer overflow flaw was found in the X.Org X server and Xwayland. A mismatch between the X server and the libXfont2 library's maximum font name length can cause a stack buffer overflow during font alias resolution. The server allocates a 256 byte stack buffer but libXfont2's alias target name length is 1024 bytes. A font alias name between 257 and 1023 bytes causes the X server to copy that name into the undersized stack buffer without further checks. This may be used to crash the server, or for privilege escalation if the X server runs as root.
Patched
A flaw was identified in the X.Org X server’s X Keyboard (Xkb) extension where improper bounds checking in the XkbSetCompatMap() function can cause an unsigned short overflow. If an attacker sends specially crafted input data, the value calculation may overflow, leading to memory corruption or a crash.
Patched
A flaw was discovered in the X.Org X server’s X Keyboard (Xkb) extension when handling client resource cleanup. The software frees certain data structures without properly detaching related resources, leading to a use-after-free condition. This can cause memory corruption or a crash when affected clients disconnect.
Patched
A flaw was found in the X.Org X server and Xwayland when processing X11 Present extension notifications. Improper error handling during notification creation can leave dangling pointers that lead to a use-after-free condition. This can cause memory corruption or a crash, potentially allowing an attacker to execute arbitrary code or cause a denial of service.
Patched
A flaw was found in the RandR extension, where the RRChangeProviderProperty function does not properly validate input. This issue leads to an integer overflow when computing the total size to allocate.
Patched
A flaw was found in the X Record extension. The RecordSanityCheckRegisterClients function does not check for an integer overflow when computing request length, which allows a client to bypass length checks.
Patched
A flaw was found in the X server's request handling. Non-zero 'bytes to ignore' in a client's request can cause the server to skip processing another client's request, potentially leading to a denial of service.
Patched
A flaw was found in the XFIXES extension. The XFixesSetClientDisconnectMode handler does not validate the request length, allowing a client to read unintended memory from previous requests.
Patched
A flaw was found in the Big Requests extension. The request length is multiplied by 4 before checking against the maximum allowed size, potentially causing an integer overflow and bypassing the size check.
Patched
A flaw was found in the X Rendering extension's handling of animated cursors. If a client provides no cursors, the server assumes at least one is present, leading to an out-of-bounds read and potential crash.
Patched
A use-after-free flaw was found in X.Org and Xwayland. When changing an alarm, the values of the change mask are evaluated one after the other, changing the trigger values as requested, and eventually, SyncInitTrigger() is called. If one of the changes triggers an error, the function will return early, not adding the new sync object, possibly causing a use-after-free when the alarm eventually triggers.
Patched
A use-after-free flaw was found in X.Org and Xwayland. When a device is removed while still frozen, the events queued for that device remain while the device is freed. Replaying the events will cause a use-after-free.
Patched
An access to an uninitialized pointer flaw was found in X.Org and Xwayland. The function compCheckRedirect() may fail if it cannot allocate the backing pixmap. In that case, compRedirectWindow() will return a BadAlloc error without validating the window tree marked just before, which leaves the validated data partly initialized and the use of an uninitialized pointer later.
Patched
An out-of-bounds write flaw was found in X.Org and Xwayland. The function GetBarrierDevice() searches for the pointer device based on its device ID and returns the matching value, or supposedly NULL, if no match was found. However, the code will return the last element of the list if no matching device ID is found, which can lead to out-of-bounds memory access.
Patched
A buffer overflow flaw was found in X.Org and Xwayland. If XkbChangeTypesOfKey() is called with a 0 group, it will resize the key symbols table to 0 but leave the key actions unchanged. If the same function is later called with a non-zero value of groups, this will cause a buffer overflow because the key actions are of the wrong size.
Patched
A heap overflow flaw was found in X.Org and Xwayland. The computation of the length in XkbSizeKeySyms() differs from what is written in XkbWriteKeySyms(), which may lead to a heap-based buffer overflow.
Patched
A buffer overflow flaw was found in X.Org and Xwayland. The code in XkbVModMaskText() allocates a fixed-sized buffer on the stack and copies the names of the virtual modifiers to that buffer. The code fails to check the bounds of the buffer and would copy the data regardless of the size.
Patched
A use-after-free flaw was found in X.Org and Xwayland. The root cursor is referenced in the X server as a global variable. If a client frees the root cursor, the internal reference points to freed memory and causes a use-after-free.
Patched
A flaw was found in the X.org server. Due to improperly tracked allocation size in _XkbSetCompatMap, a local attacker may be able to trigger a buffer overflow condition via a specially crafted payload, leading to denial of service or local privilege escalation in distributions where the X.org server is run with root privileges.