We do often include affiliate links to earn us some pennies. See more here.

You should probably keep an eye on your software updater, as the X.Org X server and Xwayland have more security vulnerabilities that have been announced.

The security advisory was posted to the xorg-announce mailing list on Tuesday, 25th February from developer Olivier Fourdan. A few hours later xorg-server v21.1.16 and xwayland v24.1.6 were released to deal with all of the reported issues. Hopefully distributions will get the updates in quickly.

Here's the listed issues:

CVE-2025-26594: Use-after-free of the root cursor.

The root cursor is referenced in the xserver as a global variable. If a client manages to free the root cursor, the internal reference points to freed memory and causes a use-after-free.

CVE-2025-26595: Buffer overflow in XkbVModMaskText().

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 however fails to check the bounds of the buffer correctly and would copy the data regardless of the size, which may lead to a buffer overflow.

CVE-2025-26596: Heap overflow in XkbWriteKeySyms().

The computation of the length in XkbSizeKeySyms() differs from what is actually written in XkbWriteKeySyms(), which may lead to a heap based buffer overflow.

CVE-2025-26597: Buffer overflow in XkbChangeTypesOfKey().

If XkbChangeTypesOfKey() is called with 0 group, it will resize the key symbols table to 0 but leave the key actions unchanged.

If later, the same function is 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: Out-of-bounds write in CreatePointerBarrierClient().

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 was found which can lead to out of bounds memory access.

CVE-2025-26599: Use of uninitialized pointer in compRedirectWindow().

The function compCheckRedirect() may fail if it cannot allocate the backing pixmap. In that case, compRedirectWindow() will return a BadAlloc error without the validation of the window tree marked just before, which leaves the validate data partly initialized, and the use of an uninitialized pointer later.

CVE-2025-26600: Use-after-free in PlayReleasedEvents().

When a device is removed while still frozen, the events queued for that device remain while the device itself is freed and replaying the events will cause a use after free.

CVE-2025-26601: Use-after-free in SyncInitTrigger().

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. This can be used to cause a use after free when the alarm eventually
triggers.

Article taken from GamingOnLinux.com.
10 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
You can also find comments for this article on social media: Mastodon
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
1 comment Subscribe

chr 8 hours ago
I am using a *very* outdated Kubuntu with all the newest software via Flatpak (some of it closed-source!). I guess, I'll add this to my collection of small pet fires burning brightly in my life. This is fine.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register