Skip to main content

Eclipse ThreadX GUIX CVE-2026-91186

| EUVDEUVD-2026-105034 HIGH
Out-of-bounds Read (CWE-125)
2026-10-20 eclipse
8.4
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft PNG with duplicate IHDR after IDAT
  2. Delivery
    Deliver image to GUIX-based application
  3. Exploit
    Victim loads/renders the PNG
  4. Execution
    Second IHDR rewrites dimensions post-allocation
  5. Persist
    Row-filter pass writes past buffer end
  6. Impact
    Memory corruption enabling code execution or crash

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target application use the GUIX PNG decoder (compiled in by default) and that it be caused to load/render an attacker-supplied PNG file - this is the active user interaction (UI:A) the vector requires. The malicious file must carry a second IHDR chunk positioned after the IDAT chunk so that image width/height/bit-depth/pixel-depth are rewritten after the decode buffer was already allocated and filled from the original IHDR values; the subsequent row-filter-reversal pass then derives a larger extent and walks past the allocation. Because GUIX (not the caller) owns the buffer, the integrating application cannot size it defensively as a mitigation. LIMITING FACTORS: the attack vector is LOCAL (AV:L), not network-remote, and it depends on user/application interaction to open the crafted image (UI:A); it does not require authentication (PR:N) and has low complexity (AC:L/AT:N).

Impact

This is a genuine memory-corruption flaw in the Eclipse ThreadX GUIX PNG decoder, but several signals temper its priority. The vendor-supplied CVSS is a 4.0 vector (CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H) scoring 8.4 (High), with low attack complexity and high impact to confidentiality, integrity and availability - consistent with an out-of-bounds write during row-filter reversal that can corrupt adjacent heap/buffer memory. However, the attack vector is LOCAL (AV:L) and requires active user interaction (UI:A): the target application must load/render an attacker-supplied PNG. This is not a remotely-triggerable network flaw despite PR:N (no authentication). No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or weaponization. Note a data conflict: the assigned CWE-125 (Out-of-bounds READ, which maps to the 'Information Disclosure' tag) contradicts the description, which clearly describes a WRITE primitive ('moving image bytes past the end of it') - verify the exact primitive with the vendor advisory, as an OOB write is materially more dangerous and better matches VI:H/VA:H. Overall this is a real priority for anyone embedding GUIX's PNG decoder in a workflow that processes untrusted images, but the local vector plus required user interaction place it below internet-facing unauthenticated RCE.

Exploit ScenarioDerived

An attacker crafts a malformed PNG containing a second IHDR chunk placed after the IDAT data, then delivers it to a device or application that renders images with GUIX (e.g., via a file, message, or media loaded into an embedded UI). When the application decodes the image, the decoder re-reads image dimensions after the pixel buffer has already been allocated and filled, and the row-filter pass then writes beyond the allocation. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

The Eclipse ThreadX GUIX PNG decoder can be driven out of bounds by a crafted PNG that places a second IHDR chunk after IDAT, enabling memory corruption in applications that render attacker-supplied images. Any integration with the GUIX PNG decoder enabled is in scope, since the decoder is compiled in by default, and exploitation is local and requires user/application interaction to open the crafted file. No public exploit was identified at time of analysis; the reporter rates the issue 8.4, and the independent assessment treats it as a local, user-interaction-dependent memory-corruption flaw.

RemediationAI

Use the vendor advisory GHSA-gx8f-4rpc-4fjw (https://github.com/eclipse-threadx/guix/security/advisories/GHSA-gx8f-4rpc-4fjw) to identify and apply the fixed GUIX release; the provided data does not specify an exact patched version, so confirm the first fixed version with the vendor before deployment. If a patched release is not yet available, disable PNG decoding at build time in products that do not require it - side effect: loss of PNG rendering. Where PNG support must remain enabled, add a strict pre-parser that rejects any PNG with more than one IHDR or any IHDR appearing after IDAT before handing the file to GUIX; trade-off: extra CPU/memory for validation and possible rejection of malformed files. Restricting GUIX PNG decoding to trusted image assets and treating untrusted PNGs as hostile until patched are additional compensating controls.

Affected VersionsENISA

Eclipse ThreadX - GUIX 0 ≤6.5.1.202602a

Affected Packages

euvd eclipse_threadx_guix no fix

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

The PNG format requires exactly one IHDR as the first chunk; IDAT carries compressed image data and tRNS supplies transparency. GUIX's chunk reader tracks IDAT and tRNS but does not reject a second IHDR, so a file can place a new IHDR after IDAT and rewrite width, height, bit depth, and pixel depth after GUIX has already allocated and filled the decoded-data buffer using the original header values. The subsequent row-filter-reversal (defilter) pass derives its extent from the new dimensions and walks the old allocation out of bounds, matching CWE-125 (out-of-bounds read) with reported buffer-overflow and information-disclosure effects. Because GUIX owns the buffer rather than the caller, the integrating application cannot size it defensively; the decoder is default-enabled. Reporter vector is CVSS 4.0 AV:L/AC:L/AT:N/PR:N/UI:A with a score of 8.4; the independent assessment maps this to CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H.

Know when Eclipse Threadx 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

Vendor (eclipse) PRIMARY 8.4 HIGH
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
vuln.today AI 7.8 HIGH

Local file parsing requires the victim to open a crafted PNG (AV:L, UI:R), needs no auth (PR:N); an out-of-bounds write yields high C/I/A via potential code execution, scope unchanged.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

The PNG chunk reader has no notion of chunk ordering. It records whether an IDAT has been seen and whether a tRNS has already supplied transparency, but nothing prevents an IHDR being read a second time.

A PNG carries exactly one IHDR and it is the first chunk. A file that places a second one after IDAT rewrites the image width, height, bit depth and pixel depth *after* the decoded-data buffer has already been allocated and filled from the original values. The pass that reverses the PNG row filters then derives its own extent from the new dimensions and walks the old allocation, moving image bytes past the end of it.

The buffer is allocated by GUIX rather than supplied by the caller, so the application has no way to size it defensively. The decoder is compiled in by default.

Technical POC Analysis

CWE-125 (out-of-bounds read) is the CWE assigned in the header, and the advisory also files it under CWE-787; the advisory's own mechanism description is a heap out-of-bounds write performed by the f…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Eclipse ThreadX GUIX's PNG decoder, which is compiled in by default, can be driven into memory corruption by a crafted PNG containing a second IHDR chunk after IDAT, putting any product that renders untrusted images at risk. Because no vendor patch is available and the decoder is commonly enabled by default, embedded and device product teams-not just IT-must treat this as a release-blocking quality and safety issue. Leadership should care because affected devices may be customer-facing or safety-relevant, and exploitation requires only local user or application interaction with a malicious file; no public exploit was identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: compile out or disable the GUIX PNG decoder where PNG rendering is not required; reject PNGs with multiple IHDR chunks or IHDR appearing after IDAT before decoding; pre-process or sanitize images through a trusted converter; isolate rendering in a constrained process; restrict ingestion to trusted sources and require user confirmation for external images; monitor for crashes or anomalous behavior in image-rendering paths.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
Embedded RTOS GUI framework; widely used but narrower than ThreadX core
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy