CVE-2026-91189
7.1HighPublished 20 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- None
- User interaction
- Active
- Impact
- Full C/I/A compromise
- Weakness
- CWE-190, CWE-680, CWE-787
Impact
Attackers can achieve arbitrary memory corruption or code execution by tricking an application into parsing a crafted GUIX binary resource file. This requires local access or convincing a user or system to load the malicious font resource.
Root cause
The resource loader fails to verify that a font page's first glyph is less than or equal to its last glyph, triggering an integer underflow and subsequent wrap-around buffer overflow during allocation and parsing.
Affected systems
Versions not listed — check the vendor advisory.
CVSS v4.0 · 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix & remediation
Update to the fixed version once released by Eclipse ThreadX GUIX, or validate font binary resources before passing them to the GUIX loader as an interim mitigation.
AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD 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.