CVE-2026-91189

GUIX binary resource loader: unvalidated glyph range causes an integer underflow and a heap out-of-bounds write when loading an untrusted font or theme

State
Published
Severity
7.1 High
Published
Oct 20, 2026
Updated
Oct 20, 2026
Reserved
Sep 23, 2026

Read the record on cve.org

Description

The GUIX binary resource loader never checks that a font page's glyph range is well formed. `gx_page_header_first_glyph` and `gx_page_header_last_glyph` are read verbatim from the file and only the upper bound of `last_glyph` is validated, so a page declaring `first_glyph > last_glyph` makes `last - first + 1` underflow to a very large unsigned count.

That count is multiplied by a glyph record size to reserve the load buffer, and the multiply is unchecked, so it wraps to a small value and the loader allocates a buffer far smaller than the data it is about to write. The load pass then recomputes the count in a narrower type and writes attacker-controlled glyph records into the undersized buffer.

Scores

CVSSScoreVectorSource
4.07.1 HighCVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:Neclipse

Weaknesses

  • CWE-190 Integer Overflow or Wraparound
  • CWE-680 Integer Overflow to Buffer Overflow
  • CWE-787 Out-of-bounds Write

Affected Products

ProductVersions
Eclipse ThreadX - GUIXEclipse Foundation
  • 6.5.1.202602a and earlierAffected
  • 6.5.2.202603Not affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.