CVE-2025-49179 Overview
CVE-2025-49179 is an integer overflow vulnerability [CWE-190] in the X Record extension of the X.Org Server. The RecordSanityCheckRegisterClients function fails to check for integer overflow when computing the request length. This omission allows a local authenticated client to bypass length validation checks and submit malformed requests to the X server.
The flaw affects Linux distributions shipping the X.Org Server and its derivatives, including XWayland. Red Hat has issued numerous errata across Enterprise Linux product streams, and Debian LTS has published a corresponding advisory. Exploitation requires a local, low-privileged account and no user interaction.
Critical Impact
A local authenticated attacker can bypass length checks in the X Record extension to trigger memory corruption in the X server, potentially causing denial of service or affecting the integrity of the display server process.
Affected Products
- X.Org Server (xorg-server) with the X Record (RECORD) extension enabled
- XWayland builds derived from xserver sources
- Red Hat Enterprise Linux distributions and Debian LTS releases referenced in the advisories
Discovery Timeline
- 2025-06-17 - CVE-2025-49179 published to the National Vulnerability Database
- 2025-06 - Debian LTS advisory published (see Debian LTS Announcement June 2025)
- 2026-06-30 - Last updated in NVD database
Technical Details for CVE-2025-49179
Vulnerability Analysis
The X Record extension provides a mechanism for clients to record protocol data exchanged between other clients and the X server. When a client issues a RecordRegisterClients request, the server invokes RecordSanityCheckRegisterClients to validate the request structure before allocating and copying client data.
The sanity check computes a total expected request length from attacker-supplied fields such as the number of clients and the number of protocol ranges. Because the computation is performed on fixed-width integers without an overflow guard, a crafted set of large values causes the computed length to wrap around to a small value. The wrapped value then passes the equality check against the actual request length, and the server proceeds to process the request as if it were well-formed.
Root Cause
The root cause is the absence of overflow-safe arithmetic in the request-length calculation inside RecordSanityCheckRegisterClients. The upstream fix, applied in commit 2bde9ca4, replaces the unchecked multiply-and-add pattern with overflow-checked arithmetic so that oversized inputs are rejected before any downstream processing occurs.
Attack Vector
Exploitation requires local access to an X server that exposes the RECORD extension to the attacker's session. The attacker connects as a low-privileged client and issues a crafted RecordRegisterClients request whose declared client count and range count trigger the overflow. Because the length check is bypassed, subsequent parsing operates on attacker-controlled offsets, leading to out-of-bounds reads, memory corruption, or a crash of the X server process. See the Red Hat CVE summary for CVE-2025-49179 for the vendor's analysis.
No verified public exploit code is available at the time of writing.
Detection Methods for CVE-2025-49179
Indicators of Compromise
- Unexpected termination or crash of the Xorg or Xwayland process on a multi-user or remote-desktop host
- Core dumps referencing symbols in record.c or the RecordSanityCheckRegisterClients code path
- Segmentation faults logged by the X server shortly after a local user session begins issuing RECORD extension requests
Detection Strategies
- Inventory hosts running vulnerable xorg-x11-server or xwayland package versions and compare against fixed versions listed in the referenced Red Hat and Debian advisories
- Audit which local user sessions and container workloads have access to the X server socket and can reach the RECORD extension
- Correlate X server crashes with process creation events for the user session that preceded them to identify potentially malicious clients
Monitoring Recommendations
- Enable core dump collection for Xorg and forward crash telemetry to a centralized log store for triage
- Alert on repeated abnormal exits of the display server on shared or jump hosts, which are typical exploitation targets for local privilege issues
- Track package inventory drift so that hosts missing the patched xorg-server version are surfaced for remediation
How to Mitigate CVE-2025-49179
Immediate Actions Required
- Apply the vendor-provided patched packages from your Linux distribution, prioritizing multi-user systems, jump hosts, and remote-desktop servers
- Restrict local login on hosts where the X server runs to trusted accounts only, since the attack vector requires a local authenticated client
- Review container and sandbox configurations that share the host X server socket and remove access where it is not required
Patch Information
The upstream fix is available in the X.Org Server repository at GitLab Commit 2bde9ca4. Red Hat has published fixed packages across multiple product streams, including RHSA-2025:9303, RHSA-2025:9392, RHSA-2025:9964, and the RHSA-2025:10258 through RHSA-2025:10410 series. Debian users should follow the Debian LTS Announcement June 2025.
Workarounds
- Disable the RECORD extension in the X server configuration on hosts where it is not required by end-user applications
- Where feasible, migrate workloads to a native Wayland session that does not expose the X.Org RECORD extension surface
- Limit interactive local access on servers running Xorg to reduce the population of accounts that satisfy the local attack vector prerequisite
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

