RHSA-2026:93439HighCVSS 7.5

Red Hat Security Advisory: libXi security update

Published
November 2, 2026
Last Modified
November 3, 2026

🔗 CVE IDs covered (2)

📋 Description

CVE-2026-109089 — libXi: libXi: Arbitrary code execution via DEVICE_RESOLUTION heap-based buffer overflow CVE-2026-109090 — libXi: libXi: Arbitrary code execution via oversized DEVICE_ENABLE reply

🎯 Affected products22

  • Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.i686 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.src as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-0:1.7.10-8.el9_8.3.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debuginfo-0:1.7.10-8.el9_8.3.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debuginfo-0:1.7.10-8.el9_8.3.i686 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debuginfo-0:1.7.10-8.el9_8.3.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debuginfo-0:1.7.10-8.el9_8.3.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debuginfo-0:1.7.10-8.el9_8.3.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debugsource-0:1.7.10-8.el9_8.3.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debugsource-0:1.7.10-8.el9_8.3.i686 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debugsource-0:1.7.10-8.el9_8.3.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debugsource-0:1.7.10-8.el9_8.3.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-debugsource-0:1.7.10-8.el9_8.3.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-devel-0:1.7.10-8.el9_8.3.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-devel-0:1.7.10-8.el9_8.3.i686 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-devel-0:1.7.10-8.el9_8.3.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-devel-0:1.7.10-8.el9_8.3.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • libXi-devel-0:1.7.10-8.el9_8.3.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)

✅ Remediation

For details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258 Workaround: 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-03) --- 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 restrict graphical client applications from connecting to untrusted external X display servers to prevent malformed device control replies from reaching libXi: upgrade to libXi 1.8.4+ (or the fixed Libxi builds), which validate that the reply control matches the requested control and immediately jump to an exit path if they differ, closing all 2 injection vectors (mismatched DEVICE_RESOLUTION reply control values, crafted X server responses). Until patched, this is a concern on Linux client applications linked against libXi that issue XGetDeviceControl requests, so Prevent client applications from establishing connections to untrusted or external display servers, ensuring X11 traffic is restricted strictly to trusted local display servers managed by the OS. As a compensating measure, Enable Address Space Layout Randomization to randomize userspace memory addresses and impede shellcode execution or ROP gadget chaining, Enable Full RELRO and PIE to make the Global Offset Table read-only and randomize binary code pages against GOT overwrite techniques, Enable Control Flow Integrity or Shadow Call Stack to validate indirect branch targets and return addresses against control flow hijacking, and Enforce SELinux to confine the compromised client process to its domain and restrict access to system resources. These controls limit blast radius and contain exploitation, but they do not fix the underlying heap buffer overflow defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-301 SELinux (Enforcing Mode) (medium) Workaround: 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)

🔗 References (5)