Cloudanix VulnDB

CVE-2024-31083

High · 7.8

CVSS

7.8

EPSS

1.9%

Published

Apr 5, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the software that draws windows on the screen lets someone who already has an account on the computer run any program they choose.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
Application
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in ProcRenderAddGlyphs() after AllocateGlyph() creates multiple references to the same non-refcounted glyph object, allowing memory corruption when the glyph is later freed and accessed.

Why it matters to the business

Local attackers can obtain full code execution on systems that provide graphical X11 sessions, enabling data access, persistence, or further compromise in desktop and server environments that rely on Xorg.

How an attack unfolds

An authenticated local user sends a specially crafted X protocol request that triggers repeated glyph allocation and deallocation paths inside the X server; the resulting dangling pointer is reused to corrupt memory and execute attacker-controlled code.

How to fix it

Upgrade the Xorg server packages to the corrected versions released by the distribution vendor; restart affected X sessions or reboot after installation.

How to confirm the fix worked

Confirm the installed Xorg server version matches or exceeds the vendor-supplied fixed release and run any available regression tests or static-analysis checks against the glyph allocation routines.

Typical attack path

  1. Obtain a local authenticated session on a host running Xorg
  2. Connect to the X server and issue a malicious RenderAddGlyphs request
  3. Trigger the double-free / use-after-free condition in glyph handling
  4. Leverage the resulting memory corruption for arbitrary code execution

How to detect it

Inspect system and Xorg logs for unexpected crashes or segmentation faults around glyph rendering calls; correlate with authentication events immediately preceding anomalous X protocol activity.

What your security team should do

  • Apply the vendor patch for the Xorg server at the earliest maintenance window
  • Limit local user access to X11 sockets where feasible
  • Review and tighten X server configuration to reduce attack surface

The record

A use-after-free vulnerability was found in the ProcRenderAddGlyphs() function of Xorg servers. This issue occurs when AllocateGlyph() is called to store new glyphs sent by the client to the X server, potentially resulting in multiple entries pointing to the same non-refcounted glyphs. Consequently, ProcRenderAddGlyphs() may free a glyph, leading to a use-after-free scenario when the same glyph pointer is subsequently accessed. This flaw allows an authenticated attacker to execute arbitrary code on the system by sending a specially crafted request.

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