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 Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.5 | N/A | 7.5 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | High | N/A | High |
| Privileges Required | None | N/A | None |
| User Interaction | Required | N/A | Required |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | High | N/A | High |
| Integrity Impact | High | N/A | High |
| Availability Impact | High | N/A | High |
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
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.