Cloudanix VulnDB

CVE-2024-31080

High · 7.3

CVSS

7.3

EPSS

0.5%

Published

Apr 4, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in the graphics system can let a local user crash the screen server or leak some internal memory by sending unusual requests.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap-based buffer over-read in ProcXIGetSelectedEvents allowing the X server to read beyond allocated memory when processing byte-swapped length values from different-endianness clients, resulting in memory disclosure in replies followed by a crash on unmapped pages.

Why it matters to the business

Local users or processes can crash graphical sessions on X11 systems and potentially leak portions of heap memory, leading to service disruption and confidentiality exposure in environments relying on the X server for desktop or application display.

How an attack unfolds

An attacker establishes a local X11 connection using a client with opposite endianness, issues a crafted XIGetSelectedEvents request containing manipulated length values, causes the server to perform an out-of-bounds heap read, and receives the leaked memory contents in replies until the server encounters an unmapped page and crashes.

How to fix it

Update the X.org server package to a patched release that correctly validates byte-swapped lengths before processing replies in the XI extension; apply distribution-specific security updates as they become available.

How to confirm the fix worked

Confirm the installed X.org server version includes fixes for length validation in ProcXIGetSelectedEvents, review changelog entries for buffer handling corrections, and test with endianness-swapped client connections to ensure no crashes occur.

Typical attack path

  1. Establish local X11 connection with mismatched client endianness
  2. Send crafted ProcXIGetSelectedEvents request with swapped length fields
  3. Trigger repeated out-of-bounds heap memory reads
  4. Receive disclosed memory in server replies until crash

How to detect it

Review X server logs and syslog for segmentation fault entries mentioning XIGetSelectedEvents or the input extension; inspect for repeated client connection attempts followed by abrupt server restarts.

What your security team should do

  • Apply available X.org server updates immediately on all affected systems
  • Monitor system logs for X server segmentation faults related to the XI extension
  • Limit local user access to X11 sockets where feasible until patched

The record

A heap-based buffer over-read vulnerability was found in the X.org server's ProcXIGetSelectedEvents() 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.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 tigervnc 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-icons 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-icons 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-license 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-license 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-selinux 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-selinux 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-server 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-server 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-server-minimal 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-server-minimal 0 1.13.1-10.el8_10
AlmaLinux:8 tigervnc-server-module 0 1.13.1-2.el8_9.10.alma.1
AlmaLinux:8 tigervnc-server-module 0 1.13.1-10.el8_10
AlmaLinux:8 xorg-x11-server-Xdmx 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-Xephyr 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-Xnest 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-Xorg 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-Xvfb 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-Xwayland 0 21.1.3-16.el8_10
AlmaLinux:8 xorg-x11-server-common 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-devel 0 1.20.11-23.el8_10
AlmaLinux:8 xorg-x11-server-source 0 1.20.11-23.el8_10
AlmaLinux:9 tigervnc 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-icons 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-license 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-selinux 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-server 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-server-minimal 0 1.13.1-8.el9_4.3
AlmaLinux:9 tigervnc-server-module 0 1.13.1-8.el9_4.3
AlmaLinux:9 xorg-x11-server-Xdmx 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-Xephyr 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-Xnest 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-Xorg 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-Xvfb 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-Xwayland 0 23.2.7-1.el9
AlmaLinux:9 xorg-x11-server-Xwayland-devel 0 23.2.7-1.el9
AlmaLinux:9 xorg-x11-server-common 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-devel 0 1.20.11-26.el9
AlmaLinux:9 xorg-x11-server-source 0 1.20.11-26.el9
Chainguard Xnest 0 21.1.12-r0
Chainguard Xvfb 0 21.1.12-r0
Chainguard gtf 0 21.1.12-r0
Chainguard xorg-server 0 21.1.12-r0
Chainguard xorg-server-common 0 21.1.12-r0
Chainguard xorg-server-dev 0 21.1.12-r0
Chainguard xorg-server-doc 0 21.1.12-r0
Chainguard xvfb-run 0 21.1.12-r0
Debian:10 xorg-server 0 2:1.20.4-1+deb10u14
Debian:11 xorg-server 0 2:1.20.11-1+deb11u13
Debian:12 xorg-server 0 2:21.1.7-3+deb12u7
Debian:12 xwayland 0 No fix
Debian:13 xorg-server 0 2:21.1.11-3
Debian:13 xwayland 0 2:23.2.6-1
Mageia:9 tigervnc 0 1.13.1-2.4.mga9
Mageia:9 x11-server 0 21.1.8-7.4.mga9
Mageia:9 x11-server-xwayland 0 22.1.9-1.4.mga9
Red Hat:enterprise_linux:7::client tigervnc 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-debuginfo 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-icons 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-license 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-applet 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-minimal 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-module 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xdmx 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xephyr 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xnest 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xorg 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xvfb 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xwayland 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-common 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-debuginfo 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-devel 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-source 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-debuginfo 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-icons 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-license 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-applet 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-minimal 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-module 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xdmx 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xephyr 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xnest 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xorg 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xvfb 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xwayland 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-common 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-debuginfo 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-devel 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-source 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server tigervnc 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-debuginfo 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-icons 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-license 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-applet 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-minimal 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-module 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xdmx 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xephyr 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xnest 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xorg 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xvfb 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xwayland 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-common 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-debuginfo 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-devel 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-source 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-debuginfo 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-icons 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-license 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-applet 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-minimal 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-module 0 0:1.8.0-33.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xdmx 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xephyr 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xnest 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xorg 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xvfb 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xwayland 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-common 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-debuginfo 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-devel 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-source 0 0:1.20.4-29.el7_9
Red Hat:enterprise_linux:8::appstream tigervnc 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-debuginfo 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-debuginfo 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-debugsource 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-debugsource 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-icons 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-icons 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-license 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-license 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-selinux 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-selinux 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server-debuginfo 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server-debuginfo 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal-debuginfo 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal-debuginfo 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server-module 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server-module 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream tigervnc-server-module-debuginfo 0 0:1.13.1-2.el8_9.10
Red Hat:enterprise_linux:8::appstream tigervnc-server-module-debuginfo 0 0:1.13.1-10.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xdmx 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xdmx-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xephyr 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xephyr-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xnest 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xnest-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xorg 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xorg-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xvfb 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xvfb-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland 0 0:21.1.3-16.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland-debuginfo 0 0:21.1.3-16.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland-debugsource 0 0:21.1.3-16.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-common 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-debugsource 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-devel 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::appstream xorg-x11-server-source 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xdmx 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xdmx-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xephyr 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xephyr-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xnest 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xnest-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xorg 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xorg-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xvfb 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xvfb-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-common 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-debuginfo 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-debugsource 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-devel 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:8::crb xorg-x11-server-source 0 0:1.20.11-23.el8_10
Red Hat:enterprise_linux:9::appstream tigervnc 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-debuginfo 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-debugsource 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-icons 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-license 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-selinux 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-server 0 0:1.13.1-8.el9_4.3
Red Hat:enterprise_linux:9::appstream tigervnc-server-debuginfo 0 0:1.13.1-8.el9_4.3

Related vulnerabilities