Cloudanix VulnDB

CVE-2024-21885

High · 7.8

CVSS

7.8

EPSS

1.4%

Published

Feb 28, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the software that displays graphical windows on Linux systems can let attackers crash the display server or run malicious code when users forward graphics over secure remote connections.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap buffer overflow in XISendDeviceHierarchyEvent caused by exceeding the allocated array length when new device IDs are added to the xXIHierarchyInfo struct, enabling application crash or remote code execution.

Why it matters to the business

Systems running the X.Org server may experience unexpected crashes or full remote compromise, particularly in environments that rely on SSH X11 forwarding, resulting in service outages or unauthorized access to user sessions and data.

How an attack unfolds

An attacker with local or SSH access crafts input that supplies device IDs exceeding the pre-allocated buffer in the device hierarchy event handler, triggering the overflow to corrupt heap memory and achieve code execution within the X server process.

How to fix it

Upgrade the X.Org server to a version containing the fix for the buffer length check in XISendDeviceHierarchyEvent; disable X11 forwarding via sshd_config where feasible until patches are applied.

How to confirm the fix worked

Confirm the installed X server version includes the corrected array bounds check, review release notes for the specific CVE fix, and test SSH X11 forwarding sessions for stability under device event load.

Typical attack path

  1. Obtain local access or initiate an SSH session with X11 forwarding enabled
  2. Trigger or inject a device hierarchy event containing excess device IDs
  3. Exploit the resulting heap overflow to corrupt memory structures
  4. Execute arbitrary code or cause denial of service in the X server

How to detect it

Monitor X server process logs and core dumps for heap corruption indicators or segmentation faults occurring during device hierarchy event processing; correlate with SSH sessions that have X11 forwarding enabled.

What your security team should do

  • Prioritize patching X.Org server packages across all systems within standard change windows
  • Restrict or disable X11 forwarding on SSH servers unless explicitly required
  • Include X server process crash monitoring in existing endpoint detection rules

The record

A flaw was found in X.Org server. In the XISendDeviceHierarchyEvent function, it is possible to exceed the allocated array length when certain new device IDs are added to the xXIHierarchyInfo struct. This can trigger a heap buffer overflow condition, which may lead to an application crash or remote code execution in SSH X11 forwarding environments.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 tigervnc 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-icons 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-license 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-selinux 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-server 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-server-minimal 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 tigervnc-server-module 0 1.13.1-2.el8_9.7.alma.1
AlmaLinux:8 xorg-x11-server-Xdmx 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-Xephyr 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-Xnest 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-Xorg 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-Xvfb 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-Xwayland 0 21.1.3-15.el8
AlmaLinux:8 xorg-x11-server-common 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-devel 0 1.20.11-22.el8
AlmaLinux:8 xorg-x11-server-source 0 1.20.11-22.el8
AlmaLinux:9 tigervnc 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-icons 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-license 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-selinux 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-server 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-server-minimal 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 tigervnc-server-module 0 1.13.1-3.el9_3.6.alma.1
AlmaLinux:9 xorg-x11-server-Xdmx 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-Xephyr 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-Xnest 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-Xorg 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-Xvfb 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-Xwayland 0 22.1.9-5.el9
AlmaLinux:9 xorg-x11-server-common 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-devel 0 1.20.11-24.el9
AlmaLinux:9 xorg-x11-server-source 0 1.20.11-24.el9
Chainguard Xnest 0 21.1.11-r0
Chainguard Xvfb 0 21.1.11-r0
Chainguard gtf 0 21.1.11-r0
Chainguard xorg-server 0 21.1.11-r0
Chainguard xorg-server-common 0 21.1.11-r0
Chainguard xorg-server-dev 0 21.1.11-r0
Chainguard xorg-server-doc 0 21.1.11-r0
Chainguard xvfb-run 0 21.1.11-r0
Debian:10 xorg-server 0 2:1.20.4-1+deb10u13
Debian:11 xorg-server 0 2:1.20.11-1+deb11u11
Debian:12 xorg-server 0 2:21.1.7-3+deb12u5
Debian:12 xwayland 0 No fix
Debian:13 xorg-server 0 2:21.1.11-1
Debian:13 xwayland 0 2:23.2.4-1
Mageia:9 tigervnc 0 1.13.1-2.3.mga9
Mageia:9 x11-server 0 21.1.8-7.3.mga9
Mageia:9 x11-server-xwayland 0 22.1.9-1.3.mga9
Red Hat:enterprise_linux:7::client tigervnc 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-debuginfo 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-icons 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-license 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-applet 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-minimal 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client tigervnc-server-module 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xdmx 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xephyr 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xnest 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xorg 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xvfb 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-Xwayland 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-common 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-debuginfo 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-devel 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::client xorg-x11-server-source 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-debuginfo 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-icons 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-license 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-applet 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-minimal 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode tigervnc-server-module 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xdmx 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xephyr 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xnest 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xorg 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xvfb 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-Xwayland 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-common 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-debuginfo 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-devel 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::computenode xorg-x11-server-source 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server tigervnc 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-debuginfo 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-icons 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-license 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-applet 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-minimal 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server tigervnc-server-module 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xdmx 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xephyr 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xnest 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xorg 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xvfb 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-Xwayland 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-common 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-debuginfo 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-devel 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::server xorg-x11-server-source 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-debuginfo 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-icons 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-license 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-applet 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-minimal 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation tigervnc-server-module 0 0:1.8.0-31.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xdmx 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xephyr 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xnest 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xorg 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xvfb 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-Xwayland 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-common 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-debuginfo 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-devel 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:7::workstation xorg-x11-server-source 0 0:1.20.4-27.el7_9
Red Hat:enterprise_linux:8::appstream tigervnc 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-debuginfo 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-debugsource 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-icons 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-license 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-selinux 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server-debuginfo 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server-minimal-debuginfo 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server-module 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream tigervnc-server-module-debuginfo 0 0:1.13.1-2.el8_9.7
Red Hat:enterprise_linux:8::appstream xorg-x11-server 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xdmx 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xdmx-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xephyr 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xephyr-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xnest 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xnest-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xorg 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xorg-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xvfb 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xvfb-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland 0 0:21.1.3-15.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland-debuginfo 0 0:21.1.3-15.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-Xwayland-debugsource 0 0:21.1.3-15.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-common 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-debugsource 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-devel 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::appstream xorg-x11-server-source 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xdmx 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xdmx-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xephyr 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xephyr-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xnest 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xnest-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xorg 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xorg-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xvfb 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-Xvfb-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-common 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-debuginfo 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-debugsource 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-devel 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:8::crb xorg-x11-server-source 0 0:1.20.11-22.el8
Red Hat:enterprise_linux:9::appstream tigervnc 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-debuginfo 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-debugsource 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-icons 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-license 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-selinux 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server-debuginfo 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server-minimal 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server-minimal-debuginfo 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server-module 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream tigervnc-server-module-debuginfo 0 0:1.13.1-3.el9_3.6
Red Hat:enterprise_linux:9::appstream xorg-x11-server 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xdmx 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xdmx-debuginfo 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xephyr 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xephyr-debuginfo 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xnest 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xnest-debuginfo 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xorg 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xorg-debuginfo 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xvfb 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xvfb-debuginfo 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xwayland 0 0:22.1.9-5.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xwayland-debuginfo 0 0:22.1.9-5.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-Xwayland-debugsource 0 0:22.1.9-5.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-common 0 0:1.20.11-24.el9
Red Hat:enterprise_linux:9::appstream xorg-x11-server-debuginfo 0 0:1.20.11-24.el9

Related vulnerabilities