Description
fs_read_glyphs() in the libXfont2 font-server client (src/fc/fserve.c) copies each glyph's bitmap into a single buffer. Existing checks validates only that the source slice (position, length) lies within the source bitmap buffer. It does not check whether the running destination cursor has exceeded the allocation.

A malicious font server can send overlapping source offsets -- for example 1000 glyphs each referencing {position:0, length:64} with nbytes=64. Each individual source range passes the existing validation, but the cumulative writes total 64000 bytes into a 64-byte destination buffer. This is a heap buffer overflow with attacker-controlled content.
Published: 2026-09-10
Score: 9.5 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The fs_read_glyphs() function in libXfont2 copies cumulative glyph bitmap data into a single destination buffer without verifying that the total write size fits the allocated space. A malicious font server can send many glyphs with overlapping source offsets, causing the cumulative writes to exceed the small allocated buffer. This triggers a heap buffer overflow that allows an attacker to inject arbitrary code. If the X server runs with elevated privileges, an exploit may result in privilege escalation or arbitrary code execution. Even when running as unprivileged, the overflow can cause denial of service by crashing the X server.

Affected Systems

This flaw impacts systems that client, specifically SUSE Linux Enterprise Server and Desktop releases such as SLES 12 SP5, 15 SP6, 15 SP7, and 16.0, as well as various SAP‑aligned images (SLES for SAP Applications, SAP). It also affects SUSE's container images suse/kiosk/tigervnc-x11vnc, suse/kiosk/xorg, and the libXfont2 package on openSUSE Leap and Tumbleweed. Any installation of libXfont2 before the fix is considered affected.

Risk and Exploitability

The vulnerability has a CVSS score of 9.5, indicating critical severity. The EPSS score is less than 1%, indicating a very low but non‑zero exploitation probability, but the absence of a publicly known and unpatched systems remain exposed. The attack requires an attacker to control or supply a malicious font server that communicates with the target X server; this can be local or remote depending on how the X server allows font server connections. Successful exploitation may result in remote code execution and privilege escalation for the X server process, or a denial of service if the target is unprivileged.

Generated by OpenCVE AI on September 10, 2026 at 23:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor‑issued update for libXfont2 that contains the heap buffer overflow fix.
  • Run the X server with the lowest possible privileges, avoiding execution as root or with elevated rights.
  • Restrict network access to the font server so that only trusted hosts or local connections can request glyph data.

Generated by OpenCVE AI on September 10, 2026 at 23:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 10 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122

Thu, 10 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 10 Sep 2026 08:30:00 +0000

Type Values Removed Values Added
Description A flaw was found in the libXfont2 font-server client. This heap buffer overflow vulnerability allows a malicious font server to send specially crafted glyph data. The fs_read_glyphs() function fails to properly validate the total size of the incoming data, leading to an overwrite of memory beyond the intended buffer. If the X server runs as a privileged user, this could result in privilege escalation, allowing an attacker to gain higher access. If the X server runs as an unprivileged user, it could lead to a denial of service, causing the system to crash. fs_read_glyphs() in the libXfont2 font-server client (src/fc/fserve.c) copies each glyph's bitmap into a single buffer. Existing checks validates only that the source slice (position, length) lies within the source bitmap buffer. It does not check whether the running destination cursor has exceeded the allocation. A malicious font server can send overlapping source offsets -- for example 1000 glyphs each referencing {position:0, length:64} with nbytes=64. Each individual source range passes the existing validation, but the cumulative writes total 64000 bytes into a 64-byte destination buffer. This is a heap buffer overflow with attacker-controlled content.
Title libxfonts2: libXfont2: Privilege Escalation via Heap Buffer Overflow in Font Server Client fs_read_glyphs() heap buffer overflow via cumulative glyph data overflow in libXfont2
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.5, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H'}

cvssV3_1

{'score': 9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Fri, 07 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
First Time appeared Libxfonts2
Libxfonts2 libxfont2
Vendors & Products Libxfonts2
Libxfonts2 libxfont2

Thu, 06 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Description A flaw was found in the libXfont2 font-server client. This heap buffer overflow vulnerability allows a malicious font server to send specially crafted glyph data. The fs_read_glyphs() function fails to properly validate the total size of the incoming data, leading to an overwrite of memory beyond the intended buffer. If the X server runs as a privileged user, this could result in privilege escalation, allowing an attacker to gain higher access. If the X server runs as an unprivileged user, it could lead to a denial of service, causing the system to crash.
Title libxfonts2: libXfont2: Privilege Escalation via Heap Buffer Overflow in Font Server Client
Weaknesses CWE-120
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H'}

threat_severity

Important


Subscriptions

Libxfonts2 Libxfont2
cve-icon MITRE

Status: PUBLISHED

Assigner: suse

Published:

Updated: 2026-09-10T18:26:50.408Z

Reserved: 2026-05-08T12:29:48.969Z

Link: CVE-2026-44950

cve-icon Vulnrichment

Updated: 2026-09-10T17:20:03.815Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-10T09:17:02.490

Modified: 2026-09-10T19:17:27.730

Link: CVE-2026-44950

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-05T10:00:00Z

Links: CVE-2026-44950 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-10T23:30:12Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

  • CWE-122

    Heap-based Buffer Overflow