Skip to main content

Eclipse ThreadX CVE-2026-95111

| EUVDEUVD-2026-105027 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-20 eclipse
4.8
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

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

  1. Access
    Load or compromise low-privileged ThreadX module
  2. Exploit
    Craft front-send queue request with boundary-aligned buffer
  3. Execution
    Trigger OOB read in _txe_queue_front_send (privileged)
  4. Impact
    Receive leaked adjacent memory via queue

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

Requires the ThreadX memory-protected module feature (Module Manager with MPU isolation) to be in use, and the attacker must already control a loaded module that is low-privileged yet authorized to perform a front-send on a target queue; a second module (or the same one) must be able to receive from that queue to read the leaked words back. Exploitation is strictly local (AV:L) and authenticated at the module level (PR:L) - it cannot be reached remotely or without executing code as a module. The leak is bounded to 3×message_size bytes immediately past the module's readable region, limiting it to an adjacent-memory information-disclosure primitive rather than arbitrary read. Deployments that do not use ThreadX Modules, or that use the module manager without relying on it as a security boundary, are not meaningfully exposed.

Impact

This is a genuine but low-severity, narrowly-scoped defect, consistent with its 4.8 CVSS 4.0 score. The vector (CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:L) tells a coherent story: a local attacker who already controls a low-privileged, memory-protected ThreadX module can trigger an out-of-bounds read (CWE-125), leaking a bounded amount of adjacent memory back into the module via the queue it reads from. The description and the CVSS vector agree - this requires attacker code already executing as a loaded module (PR:L, AV:L), not remote or unauthenticated access, so it is a privilege/isolation-boundary weakness rather than an initial-access vulnerability. No EPSS score, KEV listing, or public exploit was provided; the only intelligence source is the Eclipse ThreadX GHSA advisory (GHSA-rrg6-24r9-wqpm). The disclosed amount is deterministic and small (3 × message_size bytes past the readable region, since a ULONG word count was passed where a byte count was expected), and the leak is an information-disclosure primitive confined within the privileged copy path - not code execution. Net: a legitimate memory-safety fix that matters for high-assurance MPU-isolated deployments, but not a broad-fleet emergency. Prioritize patching where ThreadX Modules with memory protection are used to enforce a security boundary; deprioritize elsewhere.

Exploit ScenarioDerived

A malicious or compromised low-privileged ThreadX module issues a front-send queue request crafted so its source buffer ends exactly at the edge of the module's readable region. The Module Manager's front-send dispatcher passes the raw ULONG word count instead of the byte count, so the privileged copy reads 3×message_size bytes beyond the allowed boundary and writes them into the queue's message area, where a module receiving from that queue reads back the leaked adjacent privileged/kernel memory. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Eclipse ThreadX's memory-protected module support under-validates queue extents in the front-send path: the Module Manager's dispatch layer receives a value counted in ULONGs where it expects a byte extent, so the privileged copy in _txe_queue_front_send reads up to 3 x message_size bytes past the end of the memory a loaded module is permitted to read. The over-read words land in the queue's message area, meaning a second module (or the same one) that can receive from that queue can retrieve the adjacent memory contents. Exploitation is strictly local and requires the attacker to already control a loaded low-privilege module authorized to front-send on the target queue; there is no public exploit code and no confirmed active exploitation (no public exploit identified at time of analysis), and the assessed impact is limited information disclosure plus a possible availability effect, consistent with the 4.8 CVSS 4.0 / 4.8 CVSS 3.1 ratings.

RemediationAI

The available data does not specify an exact fixed ThreadX release; check the upstream advisory GHSA-rrg6-24r9-wqpm (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-rrg6-24r9-wqpm) for the patched version line and upgrade to it, and if carrying a vendor BSP fork, confirm the fork has absorbed the upstream fix to the front-send dispatcher (the correction is to scale tx_queue_message_size by sizeof(ULONG) before the range check, matching tx_queue_send and tx_queue_receive). Where an immediate upgrade is not feasible, the highest-value compensating control is to stop exposing queue front-send to untrusted modules: replace _txe_queue_front_send usage in module-facing code with the ordinary tx_queue_send path, which performs the correct extent calculation, at the cost of losing front-of-queue insertion semantics. Alternatively, deny untrusted modules the front-send entry point via the module's symbol/permission table or the Module Manager's request-dispatch allowlist, accepting reduced module functionality; or size and pad the module's MPU-readable regions so that a 3 x message_size over-read stays inside memory the module is already permitted to read, which shrinks but does not eliminate the disclosure window and adds memory overhead. Because exploitation requires an already-loaded module, restricting which third-party modules may be loaded and enforcing signature/authentication on module images also reduces the attack surface, though it does not fix the underlying defect.

Affected VersionsENISA

Eclipse ThreadX 6.0.1 ≤6.5.1.202602a

Affected Packages

euvd eclipse_threadx 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

ThreadX Modules pair an unprivileged, MPU-isolated loadable module with a privileged Module Manager that services the module's requests; every pointer and length crossing that boundary is supposed to be range-checked against the module's allowed memory before the manager dereferences it in privileged mode. In ThreadX queue APIs, tx_queue_message_size is expressed as a count of ULONG words, not bytes, and tx_queue_send / tx_queue_receive in the same header correctly scale that count by sizeof(ULONG) before handing an extent to the range check. The queue front-send dispatcher omitted that multiplication and passed the raw word count, so a source buffer that ended message_size bytes into the module's readable region passed validation; _txe_queue_front_send then copied message_size * sizeof(ULONG) bytes in privileged mode, over-reading 3 * message_size bytes beyond the module's authorized region. This is CWE-125 (out-of-bounds read) arising from a unit-mismatch error in extent calculation rather than a missing check, and because the copied words are deposited into the queue's message storage, the primitive is a bounded adjacent-memory disclosure that a co-resident module draining the queue can observe.

Know when Eclipse Threadx 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 4.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 4.4 MEDIUM

Attacker must already run as a low-privileged module so AV:L/PR:L; deterministic trigger gives AC:L; bounded memory leak is C:L with possible fault on unmapped memory giving A:L, no integrity impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:L/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
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A memory-protected ThreadX module's queue request reaches the Module Manager's dispatch layer, which decides how much of the module's buffer the privileged queue copy may touch and hands that extent to the module port's range check. A queue's tx_queue_message_size is a count of ULONGs and the copy moves that many words, so the extent is message_size * sizeof(ULONG) bytes.

The front-send dispatcher passed the word count itself. tx_queue_send and tx_queue_receive, either side of it in the same header, have always multiplied.

A source buffer ending message_size bytes into memory the module may read was therefore accepted, and _txe_queue_front_send then read message_size * sizeof(ULONG) bytes from it in privileged mode - 3 * message_size bytes past the end of what the module is allowed to read. The words are written into the queue's message area, so a module that can receive from that queue reads them back.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
Very widely deployed embedded RTOS; vulnerable MPU-module feature is a narrower subset
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
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