The GUIX binary resource (theme) loader sizes its arena and populates it in two separate passes that traverse the resource file with independent cursor arithmetic. Because `gx_page_header_data_size` is never validated against the glyph data a page actually contains, the two passes can read different page headers for the same font page, derive different glyph counts, and reserve less than the load pass writes. The excess is written past the end of the arena, with content taken verbatim from the file.
The overflowed buffer is allocated by GUIX itself, through `_gx_system_memory_allocator`, rather than supplied by the caller. The public API `gx_binres_theme_load()` takes no size parameter, so no amount of caller diligence prevents this.
Reproduces in the shipped default configuration; `GX_BINARY_RESOURCE_SUPPORT` is enabled by default.
CVSS
No CVSS.
References
Configurations
No configuration.
History
14 Oct 2026, 18:17
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-10-14 18:17
Updated : 2026-10-16 21:17
NVD link : CVE-2026-103414
Mitre link : CVE-2026-103414
CVE.ORG link : CVE-2026-103414
JSON object : View
Products Affected
No product.
CWE
CWE-787
Out-of-bounds Write
