Skip to main content

X.Org X Libraries CVE-2026-109090

HIGH
2026-10-16
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Lure client to malicious/compromised X server
  2. Exploit
    Send crafted protocol reply with inconsistent lengths
  3. Execution
    Trigger out-of-bounds read in client library parser
  4. Impact
    Crash X client (denial of service)

Vulnerability Assessment

Exploitation Conditions

Exploitation requires the victim's X client application (linked against the affected libXrender/libXtst/libX11 code) to connect to and receive replies from a malicious or compromised X server - this inverts the normal X11 trust model, in which the client trusts its server. The crafted reply carries inconsistent length/count fields (e.g. mismatched numSubpixel/numScreens in XRenderQueryFormats, or malformed record/datum sizing in XRecord) that the parser walks past. Limiting factors: default setups connecting only to a local, trusted X server are not exposed; realistic exposure comes from untrusted-display scenarios such as X11 forwarding to or from an attacker-controlled host; and the demonstrated impact is a client crash (denial of service), not code execution, which bounds the severity.

Impact

No CVSS vector, EPSS score, KEV entry, or POC indicator was supplied for CVE-2026-109090 specifically, so quantitative exploitation signals are absent and there is no public exploit identified at time of analysis. The vulnerability belongs to an aggregated X.Org advisory (Oct 16, 2026) covering client-side memory-safety flaws in the X client libraries; the linked diffs tie this ID to libXrender (bounds hardening in XRenderQueryFormats) and libXtst (OOB/livelock fix in XRecord parse_reply_call_callback, a follow-up to CVE-2016-7952). Across the itemized sibling CVEs the pattern is consistent: a malicious or compromised X server sends a crafted reply that drives an out-of-bounds read (or, for one XKB case, an out-of-bounds write) in the client, yielding a client crash - availability impact, rated MEDIUM 5.3-6.5. The decisive risk limiter is the inverted trust model: these are client-side bugs triggered by a hostile server, whereas X clients normally trust the server they connect to, so exploitation requires luring a client to an attacker-controlled display. That makes this a real-but-modest-priority patch: ubiquitous library, but availability-only impact and an elevated-trust precondition keep real-world risk low rather than critical. CAVEAT: the input bundles many CVEs and does not itemize CVE-2026-109090 individually, so its exact component and precise impact are inferred from the linked diffs and should be verified against the per-CVE NVD/X.Org entry.

Exploit ScenarioDerived

An attacker stands up or compromises an X server (for example a hostile display reached via X11 forwarding or an untrusted remote session) and waits for a victim to run an X client linked against libXrender or libXtst. When the client issues a normal request, the malicious server returns a crafted reply with inconsistent length or count fields, driving an out-of-bounds read during parsing and crashing the client. No public exploit code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Multiple out-of-bounds read and write defects in the X.Org X client libraries (libX11, libXi, libXpm, libXrender, libXtst) let a malicious or compromised X server send crafted replies that drive client-side parsers past the end of the received buffer, crashing the linked application and, in the libX11 XKB case, writing past an allocated array. Affected are libX11 before 1.8.14, libXi before 1.8.4, libXpm before 3.5.20, libXrender before 0.9.13 and libXtst before 1.2.6; exploitation requires the victim's client to connect to an untrusted server and, per the assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H (6.5), the craftwork is unauthenticated but needs user interaction, with demonstrated impact limited to denial of service rather than code execution. No CVSS vector, EPSS score, KEV entry or POC indicator was supplied for CVE-2026-109090 specifically, so no public exploit identified at time of analysis and quantitative exploitation signals are absent.

RemediationAI

Vendor-released patches: upgrade to libX11 1.8.14, libXi 1.8.4, libXpm 3.5.20, libXrender 0.9.13 and libXtst 1.2.6, as published in the X.Org advisory at https://seclists.org/oss-sec/2026/q4/212; downstream distributions should track their own updated packages since these are shared libraries requiring a rebuild or restart of dependent client applications for the fix to take effect. If backporting rather than upgrading wholesale, the advisory notes that the fixed releases also contain additional code hardening without CVE assignments, so cherry-picking only the CVE-tagged commits (for example libX11 6d4432b13, f263bbca2, 924fc91f0, 797eaf0bd; libXi 9a5f8636b, 59f8dece8, f885619bb, e2ec4a1c8, 2e5ecd187; plus libXrender 0564bce54 and libXtst ac60f5f47) may leave further hardening behind. As compensating controls, avoid connecting X clients to untrusted or attacker-controlled displays, restrict or disable X11 forwarding over SSH (ssh -X/-Y) to known-good hosts, require authenticated transport such as Xauthority or SSH forwarding rather than raw TCP displays, and where practical run remote GUI applications inside a trusted nested or proxy display (for example Xephyr or xpra); the trade-off is loss of the remote-GUI convenience these libraries exist to provide, and note these measures reduce exposure to forged server replies rather than fixing the parser defects, which is why patching remains the primary action. The assessed impact is client crash and denial of service, with no code execution demonstrated in the supplied data.

Affected ProductsAI

Affected are X.Org X client library builds prior to the fixed releases: libX11 before 1.8.14 (covering the XKB action parser, XIM attribute and trigger-key parsers, and the byte-oriented codeset parser issues), libXi before 1.8.4 (covering XQueryDeviceState and the XI2 class parsing, XI_DeviceChanged and XIQueryDevice reply paths), libXpm before 3.5.20, libXrender before 0.9.13 (XRenderQueryFormats numSubpixel/numScreens and length validation) and libXtst before 1.2.6 (record/datum parsing in parse_reply_call_callback). These are widely distributed client-side shared libraries, so exposure follows whichever releases a given distribution or downstream application links against; the vendor advisory at https://seclists.org/oss-sec/2026/q4/212 is the authoritative list, with per-component commit references including https://gitlab.freedesktop.org/xorg/lib/libxrender/-/commit/0564bce54, https://gitlab.freedesktop.org/xorg/lib/libxtst/-/commit/ac60f5f47 and https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/924fc91f0. No CPE identifiers or EPSS data were supplied with this record, so version-to-package matching must be performed against the local distribution's package manifest.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

These libraries implement the client half of the X11 protocol, where the client traditionally trusts its display server; the flaws invert that trust assumption by consuming wire-supplied length and count fields without bounds validation. The referenced XRenderQueryFormats fix adds checks that numSubpixel does not exceed numScreens and that numDepths, numVisuals, numSubpixel and the reply length stay within INT_MAX-derived limits before allocating XRenderInfo; the XRecord parse_reply_call_callback fix addresses datum_bytes and reply length handling (a follow-up to the earlier CVE-2016-7952 livelock fix) so malformed element sizing cannot advance the parser past end. Additional issues in the same advisory ship under other CVE IDs: an out-of-bounds write (CWE-787 class) in libX11's XKB action parser when a XkbGetMap reply uses keycodes beyond max_keycode + 1, out-of-bounds reads (CWE-125 class) in libX11's XIM attribute and trigger-key parsers, an out-of-bounds read in libX11's byte-oriented codeset parser for multi-byte locales such as GBK and Big5, and a family of out-of-bounds reads in libXi's size_classes()/copy_classes()/XQueryDeviceState()/XListInputDevices() paths driven by inconsistent class lengths, num_valuators, num_buttons, num_keycodes or device-name length bytes. No CPE strings were included in the supplied data, so exact platform and distribution package mappings were not independently confirmed from this feed.

Know when Gitlab gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

vuln.today AI 6.5 MEDIUM

Malicious server reply is reachable over networked X11 (AV:N) with no auth to the protocol (PR:N), but the user must run a client against a hostile server (UI:R); impact is a client crash only (A:H, C/I:N).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

Multiple memory-safety defects in X.Org X client libraries (libX11, libXi, libXpm, libXrender, libXtst) can cause denial of service in graphical applications when a user connects to an untrusted X server. The vulnerability is unauthenticated but requires user interaction, and no public exploit identified at time of analysis, limiting immediate risk to availability rather than data compromise. Leadership should prioritize patching to the vendor-released versions and restrict connections to untrusted X servers to protect affected users.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
High
core X11 client libraries present across nearly all Linux/Unix X desktops
Data Quality
1 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2026-85706 CRITICAL POC
10.0 Sep 12

Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2026-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

CVE-2026-87719 CRITICAL POC
9.9 Sep 12

Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-93577 CRITICAL POC
9.9 Sep 23

Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over

CVE-2026-89078 CRITICAL POC
9.9 Sep 23

Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser

CVE-2026-61560 CRITICAL POC
9.8 Sep 15

Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy