Cloudanix VulnDB

CVE-2024-31081

High · 7.3

CVSS

7.3

EPSS

0.5%

Published

Apr 4, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in the display server used by many older Ubuntu computers lets a logged-in user send specially crafted requests that can make the screen server crash.

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 X.org ProcXIPassiveGrabDevice() triggered by byte-swapped length values in replies from clients of differing endianness, resulting in uncontrolled heap memory reads until an unmapped page and potential segmentation fault.

Why it matters to the business

Local users on affected Ubuntu systems can trigger X server crashes that disrupt graphical sessions and applications, with the vulnerability remaining exploitable years after disclosure on widely deployed LTS kernels.

How an attack unfolds

A local attacker launches an X client compiled or configured for opposite endianness, sends a crafted ProcXIPassiveGrabDevice request containing swapped length fields, and forces the server to perform large out-of-bounds heap reads that either leak memory contents back to the client or crash the X server.

How to fix it

Upgrade the linux, linux-aws, linux-azure, linux-kvm and related packages to the exact fixed versions supplied for each Ubuntu release (e.g., linux 4.15.0-1001.1 on 18.04, linux 5.4.0-9.12 on 20.04, linux-aws-5.15 5.15.0-1014.18~20.04.1, etc.) and reboot.

How to confirm the fix worked

Verify the running kernel matches one of the listed fixed package versions, confirm X server starts without immediate crash under mixed-endian client testing, and re-check package manager output for pending updates.

Typical attack path

  1. Obtain local shell access on an affected Ubuntu system running a vulnerable X server
  2. Execute or compile an X client with mismatched byte order
  3. Issue a ProcXIPassiveGrabDevice request containing swapped length values
  4. Observe server reply containing heap memory or trigger segmentation fault

How to detect it

Review system and Xorg logs for segmentation faults or abrupt X server terminations coinciding with local X client activity; inspect for repeated passive-grab related errors or heap-related crash signatures.

What your security team should do

  • Apply the listed kernel updates on all affected Ubuntu 18.04 and 20.04 systems immediately
  • Prioritize systems that expose X11 to untrusted local users or multi-architecture environments
  • Remove or isolate legacy X11 workloads where feasible
  • Monitor for new kernel updates in the same series

The record

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