Xorg
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in any Xorg product.
RSS Feeds for Xorg security vulnerabilities
Create a CVE RSS feed including security vulnerabilities found in Xorg products with stack.watch. Just hit watch, then grab your custom RSS feed url.
Products by Xorg Sorted by Most Security Vulnerabilities since 2018
By the Year
In 2025 there have been 13 vulnerabilities in Xorg with an average score of 7.4 out of ten. Last year, in 2024 Xorg had 10 security vulnerabilities published. That is, 3 more vulnerabilities have already been reported in 2025 as compared to last year. Last year, the average CVE base score was greater by 0.33
| Year | Vulnerabilities | Average Score |
|---|---|---|
| 2025 | 13 | 7.43 |
| 2024 | 10 | 7.76 |
| 2023 | 16 | 7.03 |
| 2022 | 6 | 7.53 |
| 2021 | 8 | 7.95 |
| 2020 | 8 | 7.38 |
| 2019 | 1 | 7.80 |
| 2018 | 5 | 7.84 |
It may take a day or so for new Xorg vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Xorg Security Vulnerabilities
| CVE | Date | Vulnerability | Products |
|---|---|---|---|
| CVE-2025-62230 | Oct 30, 2025 |
X.Org X Server Xkb Extension Use-After-Free on Client CleanupA flaw was discovered in the X.Org X servers 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. |
|
| CVE-2025-49177 | Jun 17, 2025 |
X11 XFixes Extension Memory Read via Request Length OmissionA 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. |
|
| CVE-2025-49178 | Jun 17, 2025 |
X Server 'bytes to ignore' flaw to DoSA 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. |
|
| CVE-2025-49180 | Jun 17, 2025 |
Xorg RandR RRChangeProviderProperty Integer OverflowA 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. |
|
| CVE-2022-49737 | Mar 16, 2025 |
X.Org X Server 20.11-21.1.16 Input Race via EasystrokeIn X.Org X server 20.11 through 21.1.16, when a client application uses easystroke for mouse gestures, the main thread modifies various data structures used by the input thread without acquiring a lock, aka a race condition. In particular, AttachDevice in dix/devices.c does not acquire an input lock. |
|
| CVE-2025-26594 | Feb 25, 2025 |
Use-after-Free in X.Org and Xwayland Root Cursor HandlingA 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. |
|
| CVE-2025-26595 | Feb 25, 2025 |
X.Org Xwayland Buffer Overflow via XkbVModMaskTextA 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. |
|
| CVE-2025-26596 | Feb 25, 2025 |
Heap Overflow in X.Org X Server XkbSizeKeySyms Length CalcA 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. |
|
| CVE-2025-26597 | Feb 25, 2025 |
Buffer Overflow in X.Org Xwayland via XkbChangeTypesOfKey() misuseA 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. |
|
| CVE-2025-26598 | Feb 25, 2025 |
OOB Write in X.Org/Xwayland via GetBarrierDevice()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. |
And others... |
| CVE-2025-26599 | Feb 25, 2025 |
Uninitialized pointer flaw in X.Org X server compCheckRedirect()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. |
|
| CVE-2025-26601 | Feb 25, 2025 |
Use-after-Free in X.Org/Xwayland SyncInitTriggerA 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. |
|
| CVE-2025-26600 | Feb 25, 2025 |
UAF in X.Org/XWayland via orphaned input eventsA 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. |
|
| CVE-2024-9632 | Oct 30, 2024 |
X.org Server Local Priv Esc via XkbSetCompatMap Buffer OverflowA 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. |
|
| CVE-2024-31083 | Apr 05, 2024 |
Xorg Server UAF via ProcRenderAddGlyphs()A use-after-free vulnerability was found in the ProcRenderAddGlyphs() function of Xorg servers. This issue occurs when AllocateGlyph() is called to store new glyphs sent by the client to the X server, potentially resulting in multiple entries pointing to the same non-refcounted glyphs. Consequently, ProcRenderAddGlyphs() may free a glyph, leading to a use-after-free scenario when the same glyph pointer is subsequently accessed. This flaw allows an authenticated attacker to execute arbitrary code on the system by sending a specially crafted request. |
|
| CVE-2024-31082 | Apr 04, 2024 |
X.org Server Heap Over-Read in ProcAppleDRICreatePixmap() (CVE-2024-31082)A heap-based buffer over-read vulnerability was found in the X.org server's ProcAppleDRICreatePixmap() function. This issue occurs when byte-swapped length values are used in replies, potentially leading to memory leakage and segmentation faults, particularly when triggered by a client with a different endianness. This vulnerability could be exploited by an attacker to cause the X server to read heap memory values and then transmit them back to the client until encountering an unmapped page, resulting in a crash. Despite the attacker's inability to control the specific memory copied into the replies, the small length values typically stored in a 32-bit integer can result in significant attempted out-of-bounds reads. |
|
| CVE-2024-31081 | Apr 04, 2024 |
X.Org X11 Heap Buffer Overread in ProcXIPassiveGrabDeviceA heap-based buffer over-read vulnerability was found in the X.org server's ProcXIPassiveGrabDevice() function. This issue occurs when byte-swapped length values are used in replies, potentially leading to memory leakage and segmentation faults, particularly when triggered by a client with a different endianness. This vulnerability could be exploited by an attacker to cause the X server to read heap memory values and then transmit them back to the client until encountering an unmapped page, resulting in a crash. Despite the attacker's inability to control the specific memory copied into the replies, the small length values typically stored in a 32-bit integer can result in significant attempted out-of-bounds reads. |
|
| CVE-2024-21886 | Feb 28, 2024 |
Heap Buffer Overflow in X.Org Server DisableDevice FunctionA heap buffer overflow flaw was found in the DisableDevice function in the X.Org server. This issue may lead to an application crash or, in some circumstances, remote code execution in SSH X11 forwarding environments. |
And others... |
| CVE-2024-21885 | Feb 28, 2024 |
X.Org Server Heap Buffer Overflow in XISendDeviceHierarchyEventA flaw was found in X.Org server. In the XISendDeviceHierarchyEvent function, it is possible to exceed the allocated array length when certain new device IDs are added to the xXIHierarchyInfo struct. This can trigger a heap buffer overflow condition, which may lead to an application crash or remote code execution in SSH X11 forwarding environments. |
|
| CVE-2024-0229 | Feb 09, 2024 |
X.Org Server OOB Memory Access: Priv Esc & RCE via X11 SSHAn out-of-bounds memory access flaw was found in the X.Org server. This issue can be triggered when a device frozen by a sync grab is reattached to a different master device. This issue may lead to an application crash, local privilege escalation (if the server runs with extended privileges), or remote code execution in SSH X11 forwarding environments. |
|
| CVE-2024-0409 | Jan 18, 2024 |
X.Org Server cursor flaw overwrites SELinux contextA flaw was found in the X.Org server. The cursor code in both Xephyr and Xwayland uses the wrong type of private at creation. It uses the cursor bits type with the cursor as private, and when initiating the cursor, that overwrites the XSELINUX context. |
|
| CVE-2024-0408 | Jan 18, 2024 |
X.Org Server GLX PBuffer XACE Hook Missing Leading to SELinux CrashA flaw was found in the X.Org server. The GLX PBuffer code does not call the XACE hook when creating the buffer, leaving it unlabeled. When the client issues another request to access that resource (as with a GetGeometry) or when it creates another resource that needs to access that buffer, such as a GC, the XSELINUX code will try to use an object that was never labeled and crash because the SID is NULL. |
|
| CVE-2023-6816 | Jan 18, 2024 |
X.Org Server: Heap Overflow via Button Mapping Bit MisallocationA flaw was found in X.Org server. Both DeviceFocusEvent and the XIQueryPointer reply contain a bit for each logical button currently down. Buttons can be arbitrarily mapped to any value up to 255, but the X.Org Server was only allocating space for the device's particular number of buttons, leading to a heap overflow if a bigger value was used. |
|
| CVE-2023-6478 | Dec 13, 2023 |
xorg-server Integer Overflow in RR Change Provider/Output PropertyA flaw was found in xorg-server. A specially crafted request to RRChangeProviderProperty or RRChangeOutputProperty can trigger an integer overflow which may lead to a disclosure of sensitive information. |
|
| CVE-2023-6377 | Dec 13, 2023 |
Xorg-Server XKB Action OOB RCE Priv EscA flaw was found in xorg-server. Querying or changing XKB button actions such as moving from a touchpad to a mouse can result in out-of-bounds memory reads and writes. This may allow local privilege escalation or possible remote code execution in cases where X11 forwarding is involved. |
|
| CVE-2023-5574 | Oct 25, 2023 |
Use-After-Free in Xvfb Zaphod Mode Enables Privilege EscalationA use-after-free flaw was found in xorg-x11-server-Xvfb. This issue occurs in Xvfb with a very specific and legacy configuration (a multi-screen setup with multiple protocol screens, also known as Zaphod mode). If the pointer is warped from a screen 1 to a screen 0, a use-after-free issue may be triggered during shutdown or reset of the Xvfb server, allowing for possible escalation of privileges or denial of service. |
|
| CVE-2023-5380 | Oct 25, 2023 |
Use-After-Free in X.Org X11 Server (Zaphod Mode) Crashes X ServerA use-after-free flaw was found in the xorg-x11-server. An X server crash may occur in a very specific and legacy configuration (a multi-screen setup with multiple protocol screens, also known as Zaphod mode) if the pointer is warped from within a window on one screen to the root window of the other screen and if the original window is destroyed followed by another window being destroyed. |
|
| CVE-2023-5367 | Oct 25, 2023 |
CVE-2023-5367: OOB Write in Xorg X11 Server XIChangeDevicePropertyA out-of-bounds write flaw was found in the xorg-x11-server. This issue occurs due to an incorrect calculation of a buffer offset when copying data stored in the heap in the XIChangeDeviceProperty function in Xi/xiproperty.c and in RRChangeOutputProperty function in randr/rrproperty.c, allowing for possible escalation of privileges or denial of service. |
And others... |
| CVE-2023-43789 | Oct 12, 2023 |
LibXpm OOB Read CVE-2023-43789A vulnerability was found in libXpm where a vulnerability exists due to a boundary condition, a local user can trigger an out-of-bounds read error and read contents of memory on the system. |
|
| CVE-2023-43785 | Oct 10, 2023 |
libX11 OOB Read via _XkbReadKeySymsA vulnerability was found in libX11 due to a boundary condition within the _XkbReadKeySyms() function. This flaw allows a local user to trigger an out-of-bounds read error and read the contents of memory on the system. |
|
| CVE-2023-43787 | Oct 10, 2023 |
Local Int Overflow in XCreateImage() of libX11 (X.Org) Enables Priv EscalationA vulnerability was found in libX11 due to an integer overflow within the XCreateImage() function. This flaw allows a local user to trigger an integer overflow and execute arbitrary code with elevated privileges. |
|
| CVE-2023-43786 | Oct 10, 2023 |
libX11 Denial of Service via Infinite Loop in PutSubImageA vulnerability was found in libX11 due to an infinite loop within the PutSubImage() function. This flaw allows a local user to consume all available system resources and cause a denial of service condition. |
|
| CVE-2023-43788 | Oct 10, 2023 |
Local OOB Read in libXpm XpmCreateXpmImageFromBufferA vulnerability was found in libXpm due to a boundary condition within the XpmCreateXpmImageFromBuffer() function. This flaw allows a local attacker to trigger an out-of-bounds read error and read the contents of memory on the system. |
|
| CVE-2023-3138 | Jun 28, 2023 |
A vulnerability was found in libX11A vulnerability was found in libX11. The security flaw occurs because the functions in src/InitExt.c in libX11 do not check that the values provided for the Request, Event, or Error IDs are within the bounds of the arrays that those functions write to, using those IDs as array indexes. They trust that they were called with values provided by an Xserver adhering to the bounds specified in the X11 protocol, as all X servers provided by X.Org do. As the protocol only specifies a single byte for these values, an out-of-bounds value provided by a malicious server (or a malicious proxy-in-the-middle) can only overwrite other portions of the Display structure and not write outside the bounds of the Display structure itself, possibly causing the client to crash with this memory corruption. |
|
| CVE-2023-1393 | Mar 30, 2023 |
A flaw was found in X.Org Server Overlay WindowA flaw was found in X.Org Server Overlay Window. A Use-After-Free may lead to local privilege escalation. If a client explicitly destroys the compositor overlay window (aka COW), the Xserver would leave a dangling pointer to that window in the CompScreen structure, which will trigger a use-after-free later. |
|
| CVE-2023-0494 | Mar 27, 2023 |
A vulnerability was found in X.OrgA vulnerability was found in X.Org. This issue occurs due to a dangling pointer in DeepCopyPointerClasses that can be exploited by ProcXkbSetDeviceInfo() and ProcXkbGetDeviceInfo() to read and write into freed memory. This can lead to local privilege elevation on systems where the X server runs privileged and remote code execution for ssh X forwarding sessions. |
|
| CVE-2022-4883 | Feb 07, 2023 |
A flaw was found in libXpmA flaw was found in libXpm. When processing files with .Z or .gz extensions, the library calls external programs to compress and uncompress files, relying on the PATH environment variable to find these programs, which could allow a malicious user to execute other programs by manipulating the PATH environment variable. |
|
| CVE-2022-46285 | Feb 07, 2023 |
A flaw was found in libXpmA flaw was found in libXpm. This issue occurs when parsing a file with a comment not closed; the end-of-file condition will not be detected, leading to an infinite loop and resulting in a Denial of Service in the application linked to the library. |
|
| CVE-2022-44617 | Feb 06, 2023 |
A flaw was found in libXpmA flaw was found in libXpm. When processing a file with width of 0 and a very large height, some parser functions will be called repeatedly and can lead to an infinite loop, resulting in a Denial of Service in the application linked to the library. |
|
| CVE-2022-4283 | Dec 14, 2022 |
A vulnerability was found in X.OrgA vulnerability was found in X.Org. This security flaw occurs because the XkbCopyNames function left a dangling pointer to freed memory, resulting in out-of-bounds memory access on subsequent XkbGetKbdByName requests.. This issue can lead to local privileges elevation on systems where the X server is running privileged and remote code execution for ssh X forwarding sessions. |
|
| CVE-2022-3553 | Oct 17, 2022 |
A vulnerability, which was classified as problematic, was found in X.org ServerA vulnerability, which was classified as problematic, was found in X.org Server. This affects an unknown part of the file hw/xquartz/X11Controller.m of the component xquartz. The manipulation leads to denial of service. It is recommended to apply a patch to fix this issue. The identifier VDB-211053 was assigned to this vulnerability. |
|
| CVE-2022-3551 | Oct 17, 2022 |
A vulnerability, which was classified as problematic, has been found in X.org ServerA vulnerability, which was classified as problematic, has been found in X.org Server. Affected by this issue is the function ProcXkbGetKbdByName of the file xkb/xkb.c. The manipulation leads to memory leak. It is recommended to apply a patch to fix this issue. The identifier of this vulnerability is VDB-211052. |
|
| CVE-2022-3550 | Oct 17, 2022 |
A vulnerability classified as critical was found in X.org ServerA vulnerability classified as critical was found in X.org Server. Affected by this vulnerability is the function _GetCountedString of the file xkb/xkb.c. The manipulation leads to buffer overflow. It is recommended to apply a patch to fix this issue. The associated identifier of this vulnerability is VDB-211051. |
|
| CVE-2022-2320 | Sep 01, 2022 |
A flaw was found in the Xorg-x11-serverA flaw was found in the Xorg-x11-server. The specific flaw exists within the handling of ProcXkbSetDeviceInfo requests. The issue results from the lack of proper validation of user-supplied data, which can result in a memory access past the end of an allocated buffer. This flaw allows an attacker to escalate privileges and execute arbitrary code in the context of root. |
|
| CVE-2022-2319 | Sep 01, 2022 |
A flaw was found in the Xorg-x11-serverA flaw was found in the Xorg-x11-server. An out-of-bounds access issue can occur in the ProcXkbSetGeometry function due to improper validation of the request length. |
|
| CVE-2021-4008 | Dec 17, 2021 |
A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14. An out-of-bounds access can occur in the SProcRenderCompositeGlyphs function. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability. |
|
| CVE-2021-4011 | Dec 17, 2021 |
A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14. An out-of-bounds access can occur in the SwapCreateRegister function. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability. |
|
| CVE-2021-4010 | Dec 17, 2021 |
A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14. An out-of-bounds access can occur in the SProcScreenSaverSuspend function. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability. |
|
| CVE-2021-4009 | Dec 17, 2021 |
A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14A flaw was found in xorg-x11-server in versions before 21.1.2 and before 1.20.14. An out-of-bounds access can occur in the SProcXFixesCreatePointerBarrier function. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability. |
|
| CVE-2021-31535 | May 27, 2021 |
LookupCol.c in X.Org X through X11R7.7 and libX11 before 1.7.1 might allow remote attackers to execute arbitrary codeLookupCol.c in X.Org X through X11R7.7 and libX11 before 1.7.1 might allow remote attackers to execute arbitrary code. The libX11 XLookupColor request (intended for server-side color lookup) contains a flaw allowing a client to send color-name requests with a name longer than the maximum size allowed by the protocol (and also longer than the maximum packet size for normal-sized packets). The user-controlled data exceeding the maximum size is then interpreted by the server as additional X protocol requests and executed, e.g., to disable X server authorization completely. For example, if the victim encounters malicious terminal control sequences for color codes, then the attacker may be able to take full control of the running graphical session. |
|