CVE-2026-91189 PUBLISHED

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

Assigner: eclipse
Reserved: 23.09.2026 Published: 20.10.2026 Updated: 20.10.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 7.1

Product Status

Vendor Eclipse Foundation
Product Eclipse ThreadX - GUIX
Versions Default: unaffected
  • affected from 0 to 6.5.1.202602a (incl.)
  • Version 6.5.2.202603 is unaffected

Credits

  • adawn0106 reporter

References

Problem Types

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