CVE-2023-5574
High · 7.0CVSS
7.0
EPSS
0.6%
Published
Oct 25, 2023
CISA due date
—
Cloudanix analysis
A rare bug in an old display server setup on some Linux systems could let a logged-in user crash the computer or gain extra access rights.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Privilege Gain
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in Xvfb triggered during shutdown or reset when pointer warp occurs from screen 1 to screen 0 in legacy Zaphod multi-screen configuration, enabling local privilege escalation or denial of service.
Why it matters to the business
Organizations running older X server packages on Debian or Ubuntu systems face limited risk of local system compromise or service disruption only in rare legacy multi-screen setups, with low overall prevalence reducing operational exposure.
How an attack unfolds
An attacker with local access configures a multi-screen Zaphod mode environment, warps the pointer between screens to trigger the use-after-free during Xvfb shutdown or reset, then leverages the resulting memory corruption for privilege escalation or crash.
How to fix it
Upgrade xorg-x11-server-Xvfb and related packages to fixed versions such as 4.18.10-1 on Debian 11/12/13, 3.13.0-160.210 on Ubuntu 14.04 LTS variants, 4.4.0-137.163 on Ubuntu 16.04 LTS variants, and corresponding per-package updates for aws, azure, gcp, hwe, kvm, and raspi2 flavors.
How to confirm the fix worked
Verify package versions match or exceed the listed fixed releases, confirm Xvfb starts without error in Zaphod configurations, and test pointer warp operations followed by clean shutdowns.
Typical attack path
- Obtain local user access on affected system
- Configure Xvfb with legacy multi-screen Zaphod mode
- Perform pointer warp from screen 1 to screen 0
- Trigger server shutdown or reset to activate use-after-free
- Exploit resulting memory state for escalation or denial of service
How to detect it
Review X server logs and system crash reports for use-after-free signatures or unexpected Xvfb terminations during shutdown sequences in multi-screen environments; correlate with local user activity around pointer operations.
What your security team should do
- Prioritize upgrades on any systems still using the listed affected package versions
- Audit for legacy Zaphod multi-screen Xvfb deployments and migrate to modern single-screen or alternative display configurations
- Monitor EPSS and exploit maturity trends for any increase in observed activity
The record
A use-after-free flaw was found in xorg-x11-server-Xvfb. This issue occurs in Xvfb with a very specific and legacy configuration (a multi-screen setup with multiple protocol screens, also known as Zaphod mode). If the pointer is warped from a screen 1 to a screen 0, a use-after-free issue may be triggered during shutdown or reset of the Xvfb server, allowing for possible escalation of privileges or denial of service.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | tigervnc | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-icons | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-license | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-selinux | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-server | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-server-minimal | 0 | 1.13.1-8.el9 |
| AlmaLinux:9 | tigervnc-server-module | 0 | 1.13.1-8.el9 |
| Chainguard | Xnest | 0 | 21.1.20-r0 |
| Chainguard | Xvfb | 0 | 21.1.20-r0 |
| Chainguard | gtf | 0 | 21.1.20-r0 |
| Chainguard | xorg-server-common | 0 | 21.1.20-r0 |
| Chainguard | xorg-server-dev | 0 | 21.1.20-r0 |
| Chainguard | xorg-server-doc | 0 | 21.1.20-r0 |
| Chainguard | xvfb-run | 0 | 21.1.20-r0 |
| Debian:11 | xorg-server | 0 | No fix |
| Debian:12 | xorg-server | 0 | No fix |
| Debian:13 | xorg-server | 0 | No fix |
| Mageia:8 | x11-server | 0 | 1.20.14-4.4.mga8 |
| Mageia:9 | x11-server | 0 | 21.1.8-7.1.mga9 |
| Mageia:9 | x11-server-xwayland | 0 | 22.1.9-1.1.mga9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-debuginfo | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-debugsource | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-icons | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-license | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-selinux | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server-debuginfo | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server-minimal | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server-minimal-debuginfo | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server-module | 0 | 0:1.13.1-8.el9 |
| Red Hat:enterprise_linux:9::appstream | tigervnc-server-module-debuginfo | 0 | 0:1.13.1-8.el9 |
| SUSE:Enterprise Storage 7.1 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | xorg-x11-server | 0 | 1.20.3-150400.38.29.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | xorg-x11-server | 0 | 21.1.4-150500.7.7.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | xorg-x11-server | 0 | 1.20.3-150400.38.29.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | xorg-x11-server | 0 | 21.1.4-150500.7.7.1 |
| SUSE:Linux Enterprise Server 12 SP5 | xorg-x11-server | 0 | 1.19.6-10.56.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | xorg-x11-server | 0 | 1.19.6-10.56.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | xorg-x11-server | 0 | 1.19.6-10.56.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | xwayland | 0 | 21.1.4-150400.3.20.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | xwayland | 0 | 22.1.5-150500.7.5.1 |
| SUSE:Manager Proxy 4.2 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| SUSE:Manager Server 4.2 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| Ubuntu:16.04:LTS | xorg | 0 | No fix |
| Ubuntu:18.04:LTS | xorg | 0 | No fix |
| Ubuntu:20.04:LTS | xorg | 0 | No fix |
| Ubuntu:20.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:22.04:LTS | xorg | 0 | No fix |
| Ubuntu:22.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:24.04:LTS | xorg | 0 | No fix |
| Ubuntu:24.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:24.10 | xorg | 0 | No fix |
| Ubuntu:24.10 | xorg-server | 0 | No fix |
| Ubuntu:25.04 | xorg | 0 | No fix |
| Ubuntu:25.04 | xorg-server | 0 | No fix |
| Ubuntu:25.10 | xorg | 0 | No fix |
| Ubuntu:25.10 | xorg-server | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xorg | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xorg-server-hwe-16.04 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xorg | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xorg-server | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xorg-server-hwe-18.04 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | xorg | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | xorg-server | 0 | No fix |
| Wolfi | Xnest | 0 | 21.1.20-r0 |
| Wolfi | Xvfb | 0 | 21.1.20-r0 |
| Wolfi | gtf | 0 | 21.1.20-r0 |
| Wolfi | xorg-server-common | 0 | 21.1.20-r0 |
| Wolfi | xorg-server-dev | 0 | 21.1.20-r0 |
| Wolfi | xorg-server-doc | 0 | 21.1.20-r0 |
| Wolfi | xvfb-run | 0 | 21.1.20-r0 |
| openSUSE:Leap 15.4 | xorg-x11-server | 0 | 1.20.3-150200.22.5.79.1 |
| openSUSE:Leap 15.4 | xorg-x11-server | 0 | 1.20.3-150400.38.29.1 |
| openSUSE:Leap 15.4 | xwayland | 0 | 21.1.4-150400.3.20.1 |
| openSUSE:Leap 15.5 | xorg-x11-server | 0 | 21.1.4-150500.7.7.1 |
| openSUSE:Leap 15.5 | xwayland | 0 | 22.1.5-150500.7.5.1 |
| openSUSE:Tumbleweed | xorg-x11-server | 0 | 21.1.9-1.1 |
| openSUSE:Tumbleweed | xwayland | 0 | 23.2.2-2.1 |
Related vulnerabilities
- CVE-2024-9632 A flaw was found in the X.org server. Also affects tigervnc
- CVE-2024-31083 A use-after-free vulnerability was found in the ProcRenderAddGlyphs() function of Xorg… Also affects tigervnc
- CVE-2024-31081 A heap-based buffer over-read vulnerability was found in the X.org server's… Also affects tigervnc
- CVE-2024-31080 A heap-based buffer over-read vulnerability was found in the X.org server's… Also affects tigervnc
- CVE-2024-21886 A heap buffer overflow flaw was found in the DisableDevice function in the X.Org server. Also affects tigervnc
- CVE-2024-21885 A flaw was found in X.Org server. Also affects tigervnc
- CVE-2024-0229 An out-of-bounds memory access flaw was found in the X.Org server. Also affects tigervnc
- CVE-2023-6816 A flaw was found in X.Org server. Also affects tigervnc