GUIX binary resource loader reads past the end of a resource, because no length for it ever reaches the loader
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
gx_binres_theme_load() and gx_binres_font_load() take the resource as a bare GX_UBYTE * with no length, and GX_BINRES_DATA_INFO has no field to carry one. Every read is therefore performed at an offset the file itself chose, against a buffer whose extent the loader does not know. A resource that declares more data than it contains is read past its end, and an offset stored in the file is turned into a pointer without being bounded.
This is a distinct defect from GHSA-hgcj-22cg-4hfv, which was an underflowed glyph count. It needs no underflow and no wrapped multiply: a perfectly well-formed, narrow glyph range reaches it.
Text from CVE List
Affected versions 2
- Eclipse ThreadX - GUIXaffected: all versions through 6.5.1.202602aCVE List
- Eclipse ThreadX - GUIXunaffected: 6.5.2.202603CVE List