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

Published Oct 20, 2026
·
Updated

The GUIX binary resource loader never checks that a font page's glyph range is well formed. gxpageheaderfirstglyph and gxpageheaderlastglyph are read verbatim from the file and only the upper bound of lastglyph is validated, so a page declaring firstglyph > lastglyph 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.

Affected Software

1 affected component
Eclipse Foundation GUIX

Event History

Oct 20, 2026
CVE Published
via MITRE·02:53 PM
Data Sourced
via MITRE·02:53 PM
DescriptionWeakness
Data Sourced
via NVD·03:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What must an attacker provide to trigger the flaw?

The attacker must cause GUIX to load an untrusted font or theme containing a font page whose first glyph value is greater than its last glyph value. Exploitation also relies on attacker-controlled glyph records being processed after the malformed range causes the allocation-size calculation to wrap.

2

Is user interaction required?

Yes. The supplied CVSS vector identifies user interaction as required (UI:A), indicating a user must take an action that results in the untrusted font or theme being loaded.

3

What is the likely impact if exploitation succeeds?

The malformed glyph range can lead to a heap out-of-bounds write. The provided CVSS vector rates confidentiality, integrity, and availability impacts as high.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203