Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad or compromise low-privileged ThreadX module
-
ExploitCraft front-send queue request with boundary-aligned buffer
-
ExecutionTrigger OOB read in _txe_queue_front_send (privileged)
-
ImpactReceive 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
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
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.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Eclipse Threadx
View allEclipse ThreadX's Cortex-A7 MMU module port accepts a caller-supplied buffer range after validating only its first byte,
Eclipse ThreadX firmware built with Module Manager and loadable modules enabled contains a use-after-free in txm_module_
Integer overflow in the Eclipse ThreadX module manager lets a loaded module under-allocate an object-pool block and corr
A crafted ThreadX module can permanently hang the entire kernel by abusing the Module Manager's object-lookup path: the
Eclipse ThreadX deployments that use the Module Manager to load untrusted or mixed-trust modules let a module destroy ke
Denial of service in the Eclipse ThreadX Module Manager (CWE-400) lets a loaded user-mode module permanently drain the s
Out-of-bounds read in the Eclipse ThreadX Module Manager's block-pool create dispatcher (_txm_module_manager_tx_block_po
EUVD-2026-105027
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB