CVE-2026-91189
Publiée le 2026-10-20 · Dernière modification le 2026-10-20
GUIX est une bibliothèque graphique utilisée pour créer des interfaces utilisateur sur des appareils embarqués. La faille se situe dans le chargeur de ressources binaires, qui ne vérifie pas que les plages de glyphes des pages de polices sont ordonnées logiquement. En fournissant un fichier où le premier index de glyphe est supérieur au dernier, un attaquant peut provoquer un sous-dépassement d'entier (integer underflow), entraînant un dépassement de tampon de tas (heap buffer overflow) lors de l'allocation de la mémoire.
Une exploitation réussie permet à un attaquant d'écraser la mémoire du système, ce qui pourrait conduire à un contrôle total de la confidentialité, de l'intégrité et de la disponibilité de l'appareil. Cette attaque nécessite un accès local au système et repose sur l'interaction de l'utilisateur, comme le fait d'inciter ce dernier à charger un fichier de police malveillant. Étant donné qu'elle requiert des conditions spécifiques et le placement d'un fichier local, la complexité d'exécution est élevée.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
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.