GLSA-202401-30:X.Org X Server、XWayland:多個弱點

critical Nessus Plugin ID 189843

語系:

說明

遠端主機受到 GLSA-202401-30 所述的弱點影響 (X.Org X Server、XWayland:多個弱點)

- 在 xorg-x11-server 中發現一個超出邊界寫入缺陷。發生此問題的原因是,在 Xi/xiproperty.c 的 XIChangeDeviceProperty 函式中,以及 randr/rrproperty.c 的 RRChangeOutputProperty 函式中,複製儲存在堆積中的資料時,未正確計算緩衝區位移,進而可能導致權限提升或拒絕服務。(CVE-2023-5367)

- 在 xorg-x11-server 中發現一個釋放後使用缺陷。在非常特定的舊版組態 (具有多個通訊協定畫面的多畫面設定,也稱為 Zaphod 模式) 中,如果指標從一個畫面上的視窗內變換到另一個畫面的 root 視窗,且如果原始視窗遭到損毀,隨後另一個視窗也遭到損毀,則 X 伺服器會當機。(CVE-2023-5380)

- 在 xorg-server 中發現一個缺陷。查詢或變更 XKB 按鈕動作 (例如從觸控板移至滑鼠) 可導致超出邊界記憶體讀取和寫入。在涉及 X11 轉送的情況下,這可能允許本機權限提升或可能的遠端程式碼執行。 (CVE-2023-6377)

- 在 xorg-server 中發現一個缺陷。對 RRChangeProviderProperty 或 RRChangeOutputProperty 的特製要求可觸發整數溢位,進而可能導致洩漏敏感資訊。 (CVE-2023-6478)

- 在 X.Org Server 中發現一個瑕疵。DeviceFocusEvent 和 XIQueryPointer 回覆針對目前當機的每個邏輯按鈕,都包含一個位元。按鈕可任意對應至最大為 255 的任何值,但 X.Org Server 只會為裝置的特定按鈕數配置空間,若使用較大的值,會導致堆積溢位。(CVE-2023-6816)

- 在 X.Org Server 中發現一個瑕疵。GLX PBuffer 程式碼在建立緩衝區時未呼叫 XACE 勾點,使其處於未標記狀態。當用戶端發出另一個存取該資源的要求 (如使用 GetGeometry) 時,或當其建立需要存取該緩衝區的另一個資源 (例如 GC) 時,XSELINUX 程式碼會嘗試使用從未標記過的物件,並因為 SID 為 NULL 而發生損毀。
(CVE-2024-0408)

- 在 X.Org Server 中發現一個瑕疵。Xephyr 和 Xwayland 中的游標程式碼在建立時使用錯誤的私人項目類型。它會使用游標位元類型並將游標視為私人項目,在初始化游標時,這會覆寫 XSELINUX 內容。(CVE-2024-0409)

- Go 專案報告:DeviceFocusEvent 和 XIQueryPointer 回覆針對目前當機的每個邏輯按鈕,都包含一個位元。按鈕可任意對應至最大為 255 的任何值,但 X.Org Server 只會為裝置的按鈕數配置空間,若使用較大的值,會導致堆積溢位。如果裝置同時具有按鈕類別和金鑰類別,且 numButtons 為零,則可能會因為 DeliverStateNotifyEvent 函式中的事件配置不足而發生超出邊界寫入。XISendDeviceHierarchyEvent() 函式會配置空間用於儲存 info 中最多 MAXDEVICES (256) 個 xXIHierarchyInfo 結構。
如果在相同作業中移除具有指定 ID 的裝置,並新增具有相同 ID 的新裝置,則單一裝置 ID 會導致將兩個資訊結構寫入至 info。由於每個裝置 ID 都會同時發生此情況,因此總計有兩倍的 MAXDEVICES 資訊結構可能會寫入配置,進而導致堆積緩衝區溢位。每當停用已啟用的裝置時,就會呼叫 DisableDevice() 函式,並將裝置從 inputInfo.devices 連結清單移至 inputInfo.off_devices 連結清單。不過,因為 prev 指標指向已移除的裝置,所以連結/取消連結作業在遞回呼叫 DisableDevice() 期間會出現問題。此問題會導致裝置總數與清單中裝置數之間的長度不相符,進而導致堆積溢位,且可能造成本機權限提升。
(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

Plugin 詳細資訊

嚴重性: 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