GLSA-202401-30:X.Org X 服务器 XWayland:多个漏洞

critical Nessus 插件 ID 189843

语言:

描述

远程主机受到 GLSA-202401-30 中所述漏洞的影响(X.Org X 服务器 XWayland:多个漏洞)

- 在 xorg-x11-server 中发现越界写入缺陷。出现此问题的原因是,在复制 Xi/xiproperty.c 的 XIChangeDeviceProperty 函数和 randr/rrproperty.c 的 RRChangeOutputProperty 函数的堆中存储的数据时,缓冲区偏移值计算不正确,从而可能导致权限升级或拒绝服务。(CVE-2023-5367)

- 在 xorg-x11-server 中发现释放后使用缺陷。如果指针从一个屏幕的窗口内扭曲到另一个屏幕的根窗口,且另一个窗口接着原始窗口都被破坏,则在非常具体的旧配置(具有多个协议屏幕的多屏幕设置,也称为 Zaphod 模式)中,可能会发生 X 服务器崩溃。(CVE-2023-5380)

- 在 xorg-server 中发现一个缺陷。查询或更改 XKB 按钮操作(例如从触摸板移动到鼠标)可能会导致内存读写越界。在涉及 X11 转发的情况下,这可能允许本地权限升级或可能的远程代码执行。 (CVE-2023-6377)

- 在 xorg-server 中发现一个缺陷。对 RRChangeProviderProperty 或 RRChangeOutputProperty 的特制请求可能会触发整数溢出,从而可能导致敏感信息泄露。(CVE-2023-6478)

- 在 X.Org 服务器中发现一个缺陷。DeviceFocusEvent 和 XIQueryPointer 回复都包含当前按下的每个逻辑按钮对应的位。按钮可被任意映射到任何值(最多 255),但 X.Org 服务器仅针对设备的特定数量的按钮分配空间,如果使用了更大的值,将会导致堆溢出。(CVE-2023-6816)

- 在 X.Org 服务器中发现一个缺陷。创建缓冲区时,GLX PBuffer 代码不调用 XACE 挂钩,从而导致缓冲区无标签。当客户端发出访问该资源的另一个请求(如使用 GetGeometry),或其创建需要访问该缓冲区的另一个资源时,例如 GC,XSELINUX 代码将尝试使用从未标记的对象并可能会因为 SID 为 NULL 而崩溃。
(CVE-2024-0408)

- 在 X.Org 服务器中发现一个缺陷。Xephyr 和 Xwayland 中的光标代码使用创建时错误的私有类型。它使用将光标作为私有的光标位类型,并在初始化光标时覆盖了 XSELINUX 上下文。(CVE-2024-0409)

- X.Org 项目报告:DeviceFocusEvent 和 XIQueryPointer 回复都包含当前按下的每个逻辑按钮对应的位。按钮可被任意映射到任何值(最多 255),但 X.Org 服务器仅针对设备的按钮数量分配空间,如果使用了更大的值,将会导致堆溢出。如果设备同时具有按钮类和按键类,并且 numButtons 为零,则由于 DeliverStateNotifyEvent 函数中事件分配不足,可能会造成越界写入。XISendDeviceHierarchyEvent() 函数在信息中分配空间以存储最多 MAXDEVICES(256 个)xXIHierarchyInfo 结构。
如果具有给定 ID 的设备已被删除,并且具有相同 ID 的新设备在同一操作中得以添加,则同一设备 ID 将导致向信息写入两个信息结构。由于每个设备 ID 都会同时发生这种情况,因此可能会总共将两倍的 MAXDEVICES 信息结构写入分配,从而导致堆缓冲区溢出。每当禁用已启用的设备时,都会调用 DisableDevice() 函数,并将设备从 inputInfo.devices 链接列表移动到 inputInfo.off_devices 链接列表。但是,其链接/取消链接操作在 DisableDevice() 的递归调用期间存在问题,这是由于 prev 指针指向已删除的设备所致。此问题导致设备总数和列表中的设备数量之间长度不匹配,从而造成堆溢出,并可能导致本地特权提升。
(CVE-2024-0229、CVE-2024-21885、CVE-2024-21886)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

所有 X.Org X Server 用户应升级到最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=x11-base/xorg-server-21.1.11 所有 XWayland 用户均应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=x11-base/xwayland-23.2.4

另见

https://security.gentoo.org/glsa/202401-30

https://bugs.gentoo.org/show_bug.cgi?id=916254

https://bugs.gentoo.org/show_bug.cgi?id=919803

https://bugs.gentoo.org/show_bug.cgi?id=922395

插件详情

严重性: Critical

ID: 189843

文件名: gentoo_GLSA-202401-30.nasl

版本: 1.0

类型: local

发布时间: 2024/1/31

最近更新时间: 2024/1/31

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.4

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2023-6816

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.5

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:U/RL:O/RC:C

漏洞信息

CPE: p-cpe:/a:gentoo:linux:xorg-server, p-cpe:/a:gentoo:linux:xwayland, cpe:/o:gentoo:linux

必需的 KB 项: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

易利用性: No known exploits are available

补丁发布日期: 2024/1/31

漏洞发布日期: 2023/10/25

参考资料信息

CVE: CVE-2023-5367, CVE-2023-5380, CVE-2023-6377, CVE-2023-6478, CVE-2023-6816, CVE-2024-0229, CVE-2024-0408, CVE-2024-0409, CVE-2024-21885, CVE-2024-21886