<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://dev1galaxy.org/extern.php?action=feed&amp;tid=6352&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / X.Org Security Advisory: X.Org X server and Xwayland]]></title>
		<link>http://dev1galaxy.org/viewtopic.php?id=6352</link>
		<description><![CDATA[The most recent posts in X.Org Security Advisory: X.Org X server and Xwayland.]]></description>
		<lastBuildDate>Tue, 16 Jan 2024 14:17:34 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[X.Org Security Advisory: X.Org X server and Xwayland]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=47351#p47351</link>
			<description><![CDATA[<p>Hello:</p><p>Just got this in my box.</p><p>Good to see X.Org at work. <br />---</p><p>Issues in X.Org X server prior to 21.1.11 and Xwayland prior to 23.2.4<br />=====================================================<br />Multiple issues have been found in the X server and Xwayland implementations <br />published by X.Org for which we are releasing security fixes for in<br />xorg-server-21.1.11 and xwayland-23.2.4.</p><p>1) CVE-2023-6816 can be triggered by passing an invalid array index to DeviceFocusEvent or ProcXIQueryPointer.</p><p>2) CVE-2024-0229 can be triggered if a device has both a button and a key class and zero buttons.</p><p>3) CVE-2024-21885 can be triggered if a device with a given ID was removed and a new device with the same ID added both in the same operation.</p><p>4) CVE-2024-21886 can be triggered by disabling a master device with disabled slave devices.</p><p>5) CVE-2024-0409 can be triggered by enabling SELinux xserver_object_manager and running a client.</p><p>6) CVE-2024-0408 can be triggered by enabling SELinux xserver_object_manager and creating a GLX PBuffer.</p><p>------------------------------------------------------------------------</p><p>1) CVE-2023-6816: Heap buffer overflow in DeviceFocusEvent and ProcXIQueryPointer</p><p>Introduced in: xorg-server-1.13.0 (2012)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fix: <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/9e2ecb2af8302dedc49cb6a63ebe063c58a9e7e3" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … 3c58a9e7e3</a><br />Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative</p><p>Both DeviceFocusEvent and the XIQueryPointer reply contain a bit for<br />each logical button currently down. Buttons can be arbitrarily mapped to<br />any value up to 255 but the X.Org Server was only allocating space for the<br />device&#039;s number of buttons, leading to a heap overflow if a bigger value<br />was used.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>2) CVE-2024-0229: Reattaching to different master device may lead to out-of-bounds memory access</p><p>Introduced in: xorg-server-1.1.1 (2006)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fixes:<br />&#160; - <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/ece23be888a93b741aa1209d1dbf64636109d6a5" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … 636109d6a5</a><br />&#160; - <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/219c54b8a3337456ce5270ded6a67bcde53553d5" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … cde53553d5</a><br />&#160; - <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/df3c65706eb169d5938df0052059f3e0d5981b74" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … e0d5981b74</a><br />Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative</p><p>If a device has both a button class and a key class and numButtons is<br />zero, we can get an out-of-bounds write due to event under-allocation in<br />the DeliverStateNotifyEvent function.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>3) CVE-2024-21885: Heap buffer overflow in XISendDeviceHierarchyEvent</p><p>Introduced in: xorg-server-1.10.0 (2011)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fix: <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/4a5e9b1895627d40d26045bd0b7ef3dce503cbd1" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … dce503cbd1</a><br />Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative</p><p>The XISendDeviceHierarchyEvent() function allocates space to store up<br />to MAXDEVICES (256) xXIHierarchyInfo structures in info.</p><p>If a device with a given ID was removed and a new device with the same<br />ID added both in the same operation, the single device ID will lead to<br />two info structures being written to info.</p><p>Since this case can occur for every device ID at once, a total of two<br />times MAXDEVICES info structures might be written to the allocation,<br />leading to a heap buffer overflow.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>4) CVE-2024-21886: Heap buffer overflow in DisableDevice</p><p>Introduced in: xorg-server-1.13.0 (2012)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fixes:<br />&#160; - <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/bc1fdbe46559dd947674375946bbef54dd0ce36b" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … 54dd0ce36b</a><br />&#160; - <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/26769aa71fcbe0a8403b7fb13b7c9010cc07c3a8" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … 10cc07c3a8</a><br />Found by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative</p><p>The DisableDevice() function is called whenever an enabled device<br />is disabled and it moves the device from the inputInfo.devices linked<br />list to the inputInfo.off_devices linked list.</p><p>However, its link/unlink operation has an issue during the recursive<br />call to DisableDevice() due to the prev pointer pointing to a<br />removed device.</p><p>This issue leads to a length mismatch between the total number of<br />devices and the number of device in the list, leading to a heap<br />overflow and, possibly, to local privilege escalation.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>5) CVE-2024-0409: SELinux context corruption</p><p>Introduced in: xorg-server-1.16.0 (2014)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fix: <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/2ef0f1116c65d5cb06d7b6d83f8a1aea702c94f7" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … ea702c94f7</a><br />Found by: Olivier Fourdan</p><p>The Xserver uses the mechanism of &quot;privates&quot; to store additional data to its<br />own objects, each private has an associate &quot;type&quot;. Each private is allocated<br />for the relevant size of memory that is declared at creation.</p><p>The cursor structure in the Xserver goes as far as having two keys, one for<br />the cursor itself and another one for the bits that make the cursor shape.</p><p>XSELINUX also uses privates but it&#039;s a bit of a special case because it uses<br />the same privates keys for all different objects.</p><p>What happens here is that the cursor code in both Xephyr and Xwayland uses the<br />wrong type of private at creation, using the cursor bits type with the cursor<br />private and when initiating the cursor, the overwrites the XSELINUX context.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>6) CVE-2024-0408: SELinux unlabeled GLX PBuffer</p><p>Introduced in: xorg-server-1.10.0 (2011)<br />Fixed in: xorg-server-21.1.11 and xwayland-23.2.4<br />Fix: <a href="https://gitlab.freedesktop.org/xorg/xserver/-/commit/e5e8586a12a3ec915673edffa10dc8fe5e15dac3" rel="nofollow">https://gitlab.freedesktop.org/xorg/xse … fe5e15dac3</a><br />Found by: Olivier Fourdan and Donn Seeley</p><p>The XSELINUX code in the Xserver labels the X resources based on a hook. What<br />happens here is that the GLX PBuffer code does not call that XACE hook when<br />creating the buffer, so it remains unlabeled, and when the client issues<br />another request to access that resource (as here with a GetGeometry) or even<br />when it creates another resource which needs to access that buffer (such as a<br />GC), the XSELINUX code will try to use an object that was never labeled and<br />crash because the SID is NULL.</p><p>xorg-server-21.1.11 and xwayland-23.2.4 have been patched to fix this issue.</p><p>---</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Tue, 16 Jan 2024 14:17:34 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=47351#p47351</guid>
		</item>
	</channel>
</rss>
