Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted binary theme file
-
DeliveryApp calls gx_binres_theme_load()
-
ExploitSize pass under-reserves arena
-
ExecutionLoad pass writes excess verbatim past arena
-
PersistHeap out-of-bounds write corrupts memory
-
ImpactCode execution / crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the target application to call the public API gx_binres_theme_load() on an attacker-controlled binary resource (theme) file in which a font page's gx_page_header_data_size is inconsistent with the glyph data the page actually contains; the two-pass loader then reserves less than it writes. GX_BINARY_RESOURCE_SUPPORT is enabled by default, so the shipped default configuration is vulnerable and no special build option is needed. LIMITING FACTORS: the attack vector is local - the attacker must get the crafted file onto the device and the application must actively load it (UI:A), so deployments that only load fixed theme resources compiled into firmware, or that never accept externally sourced theme files, are not exposed; there is no network-reachable path and no caller-side mitigation is possible because the API takes no buffer-size parameter. |
| Impact | This is a heap out-of-bounds write (CWE-787) in Eclipse ThreadX GUIX's binary theme resource loader, triggered by a malformed binary resource file whose per-page glyph data disagrees between the sizing pass and the load pass. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:A, VC:H/VI:H/VA:H, score 8.4) is internally consistent with the description: exploitation is LOCAL and requires the victim/application to actively load (UI:A) an attacker-supplied theme file - it is NOT a remotely reachable network bug despite the high impact triple. No KEV listing, no EPSS score, and no public exploit (POC) are present in the supplied intelligence, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The real-world priority is therefore moderate: the memory-corruption primitive is strong (verbatim file content written past a GUIX-allocated arena, with no caller-side size check possible because gx_binres_theme_load() takes no size parameter), but reachability depends on the application accepting untrusted/externally sourced theme files, which many embedded deployments do not do. Treat as a genuine code-execution risk for any device or app that loads themes from an untrusted channel; deprioritize where theme files are fixed and built into firmware. |
| Exploit ScenarioDerived | An attacker crafts a malicious GUIX binary theme (.bin) resource in which a font page's gx_page_header_data_size and actual glyph data are inconsistent, then delivers it to a target device or application that loads themes from an external or user-controllable source. When the application calls gx_binres_theme_load() on the file, the load pass writes more glyph bytes than the sizing pass reserved, overflowing the GUIX-allocated arena with attacker-controlled file content and potentially achieving code execution. No public exploit code is identified at time of analysis, and exploitation requires the application to actively load the crafted file (local vector, user interaction). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Heap out-of-bounds write in Eclipse ThreadX GUIX's binary theme resource loader (gx_binres_theme_load) lets a crafted binary resource (theme) file overwrite memory past the end of the loader's own arena with bytes taken verbatim from the file, producing high confidentiality, integrity, and availability impact on the affected process. The vector is local rather than network-reachable: an attacker must get the malformed theme file onto the device and the target application must actively load it (CVSS 4.0 AV:L/UI:A; assessed CVSS 3.1 AV:L/UI:R, PR:N, so no privileges are needed once the file is loaded), and deployments that only load theme resources compiled into firmware, or that never accept externally sourced theme files, are not exposed. GX_BINARY_RESOURCE_SUPPORT is enabled in the shipped default configuration, so no special build option is required for the flaw to be reachable; no public exploit code was identified at time of analysis, and no caller-side workaround is possible because the public API takes no buffer-size parameter.
RemediationAI
No vendor-released patch was identified at time of analysis, so remediation must initially be structural. The most effective compensating control is to prevent untrusted binary theme files from ever reaching gx_binres_theme_load(): eliminate runtime loading of externally supplied .guix resource files and compile required themes into firmware, accepting the loss of field-updatable theming and the need to reflash for theme changes. Where runtime theming is unavoidable, restrict write access to the storage location holding theme files to a trusted provisioning path, add a cryptographic signature or hash check over resource files before they are loaded (with the trade-off of extra flash, key management, and load-time overhead), and load themes only from read-only or integrity-protected partitions. Because the API accepts no buffer-size argument, there is no bounds-checking patch available to the calling application and no way to sandbox the write from the caller side. Monitor the Eclipse ThreadX GUIX GitHub security advisory GHSA-m2f3-cv9x-68q7 and the Eclipse CVE assignment work item 358 for an official fix, and apply the vendor release as soon as it is published.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
GUIX's binary resource (theme) loader is two-pass: an initial pass sizes the arena it will allocate through the RTOS allocator hook _gx_system_memory_allocator, and a second pass populates that arena. The two passes walk the resource file with independent cursor arithmetic and never validate the per-page gx_page_header_data_size field against the glyph data the page actually contains, so a file in which those two views disagree causes the sizing pass to derive a smaller glyph count than the load pass and to reserve less space than the load pass subsequently writes. The result is a classic CWE-787 out-of-bounds write in which the overflow bytes come directly from attacker-controlled file content. Because the overflowed buffer is allocated internally by GUIX rather than supplied by the caller, and because gx_binres_theme_load() exposes no size parameter, no amount of application-side diligence can bound the write. CPE data (cpe:2.3:a:eclipse_foundation:guix:*:*:*:*:*:*:*:*) indicates the flaw is not version-scoped in the advisory data but is instead controlled by the GX_BINARY_RESOURCE_SUPPORT build option, which is on by default. The reported CVSS 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:A with all three of VC/VI/VA High and no subsequent-system impact (SC:N/SI:N/SA:N), matching the independent assessment's CVSS 3.1 view of AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H.
Know when Guix gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
File-borne overflow requires the app to load an attacker-supplied theme (AV:L, UI:R); no auth needed (PR:N); verbatim heap write yields full memory corruption, so C/I/A:H.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
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.
Technical POC Analysis
No runnable PoC is present in the supplied evidence.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Eclipse ThreadX GUIX, a widely deployed real-time operating system GUI toolkit for embedded and IoT devices, contains a high-severity heap out-of-bounds write in its binary theme loader. An attacker who can place a malformed theme file on a device and convince a user to load it could corrupt memory, potentially enabling code execution or causing device instability, impacting any organization that permits externally sourced theme files. With no vendor-released patch identified at time of analysis and no public exploit identified at time of analysis, leadership should prioritize restricting theme file sources and monitoring for a fix.
The only effective interim mitigation is to avoid loading externally sourced theme files; restrict to firmware-compiled themes and disable GX_BINARY_RESOURCE_SUPPORT where feasible. No vendor-released patch identified at time of analysis.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
GNU Guix 1.0.1 allows local users to gain access to an arbitrary user's account because the parent directory of the user
A heap-based out-of-bounds write in Eclipse ThreadX GUIX's gx_binres_theme_load() lets a local attacker corrupt memory b
A security vulnerability that can lead to local privilege escalation has been found in ’guix-daemon’. Rated medium sever
EUVD-2026-101497
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB