CVE-2026-109090

Description

A flaw was found in libXi. A malicious X server can send an oversized DEVICE_ENABLE response to a connecting client application, triggering a heap-based buffer overflow. This memory corruption can allow arbitrary code execution in the context of the client application or cause it to crash, resulting in a Denial of Service (DoS).

Statement

This vulnerability is rated as Important severity because successful exploitation allows an untrusted display service to execute code with the permissions of the connecting user process or induce an immediate application crash. In standard Red Hat Enterprise Linux environments, desktop and terminal applications interact solely with trusted, locally managed X11 or Xwayland display servers, which substantially limits practical attack exposure. The elevated risk is primarily present when client programs are configured to communicate with remote or unverified display servers across a network.

Mitigation

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

--- CME Mitigation Guidance (2026-11-02) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to properly size the allocation for XDeviceEnableState and validate wire length before parsing DEVICE_ENABLE replies in libXi's XGetDeviceControl: upgrade to libXi 1.8.4 (or the fixed Libxi builds), which add a DEVICE_ENABLE case arm in XGetDCtl.c to allocate sizeof(XDeviceEnableState) and validate wire bytes against sizeof(xDeviceEnableState), closing crafted X11 DEVICE_ENABLE reply. Until patched, this is a concern on Linux systems running X11 client applications connecting to remote or unverified X display servers, so Restrict client applications from connecting to remote or unverified display servers across the network, ensuring connections are limited to trusted, locally managed X11 or Xwayland instances. As a compensating measure, Enable Address Space Layout Randomization to randomize process memory layout and hinder reliable code execution, Compile client binaries with Full RELRO and PIE to make relocation tables read-only and randomize code segments, Implement Control Flow Integrity or Shadow Call Stack to restrict indirect call and jump targets, Enable FORTIFY_SOURCE buffer overflow detection to abort execution upon detecting heap buffer overruns, Run SELinux in enforcing mode to confine the X11 client application within a mandatory access control domain, and Isolate client applications using Linux user, PID, network, and mount namespaces to restrict host access. These controls limit blast radius and contain exploitation, but they do not fix the underlying heap-based buffer overflow — apply the upstream patch to fully remediate.

Highest-impact CME: CME-301 SELinux (Enforcing Mode) (medium)

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.5N/A7.5
Attack VectorNetworkN/ANetwork
Attack ComplexityHighN/AHigh
Privileges RequiredNoneN/ANone
User InteractionRequiredN/ARequired
ScopeUnchangedN/AUnchanged
ConfidentialityHighN/AHigh
Integrity ImpactHighN/AHigh
Availability ImpactHighN/AHigh

Vector

Red Hat: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

cve.org: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

Understanding the Weakness (CWE)

Integrity

Technical Impact: Modify Memory; Execute Unauthorized Code or Commands

Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.

Other

Technical Impact: Unexpected State

Subsequent write operations can produce undefined or unexpected results.

Frequently Asked Questions

Want to get errata notifications? Sign up here.