Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRun low-privilege ThreadX module
-
DeliveryCall txm_module_object_allocate with near-ULONG size
-
ExploitInteger overflow in 16-byte header addition
-
ExecutionByte pool serves undersized block
-
ImpactHeader written into neighbouring byte-pool block
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution 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 deployment uses the ThreadX Module Manager (txm) feature and that the attacker can execute code as a loaded module able to call txm_module_object_allocate with an attacker-influenced object_size close to ULONG_MAX. The triggering condition is the unchecked addition of the Module Manager's fixed 16-byte private header to that size, which wraps the total. Limiting factors: the attack is LOCAL (AV:L) and requires low privileges (PR:L) - the attacker must already be running within a module context - and only affects builds that compile in and use ThreadX modules; firmware that does not use the module subsystem is not exposed. No user interaction is required (UI:N). |
| Impact | This is a moderate-risk, locally-exploitable memory-corruption flaw rather than a remote-critical issue. The vendor-supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:H, score 7.0) is internally consistent with the description: exploitation is LOCAL (AV:L), requires some privilege (PR:L - a module already running under the Module Manager), needs no user interaction, and yields high integrity and availability impact with only limited confidentiality exposure - matching a heap/byte-pool header overwrite that corrupts a neighbouring block (CWE-190 integer overflow). No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the only reference is the Eclipse ThreadX GHSA security advisory. The 'Information Disclosure' tag is only partially supported - the write-past-end primitive is primarily an integrity/availability (memory corruption) issue, with confidentiality rated only Low (VC:L), so the tag overstates the disclosure angle. Net: a genuine but not emergency priority - real because it is an attacker-influenceable allocation overflow in a very widely deployed RTOS, but tempered by the local attack vector and the need to already be executing as a ThreadX module. |
| Exploit ScenarioDerived | An attacker able to load or run a low-privilege ThreadX module requests an object allocation with an object_size near the top of a ULONG; the Module Manager adds its 16-byte private header without an overflow check, the sum wraps to a tiny value, and the byte pool returns a block far smaller than the header. The manager then writes the 16-byte header past the end of the undersized block into the adjacent byte-pool block, corrupting neighbouring memory. No public exploit code is 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
Integer overflow in the Eclipse ThreadX module manager lets a loaded module under-allocate an object-pool block and corrupt the adjacent byte-pool block. When a module calls txm_module_object_allocate with an object_size near ULONG_MAX, the manager's unchecked addition of its fixed 16-byte private header wraps, so the pool serves a block smaller than the header and the subsequent header write spills past its end into the neighbouring allocation. The issue is locally exploitable by a low-privileged attacker who already has code running inside a loaded module, affects only builds that compile in and use the ThreadX module subsystem, requires no user interaction, and no public exploit code was identified at time of analysis (no CISA KEV listing was provided).
RemediationAI
No vendor-released patch version is identified in the provided data; the GitHub security advisory GHSA-63qc-jcr6-qw6r at https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-63qc-jcr6-qw6r is the authoritative source for the vendor's fix, and integrators should track it and rebuild firmware once a corrected ThreadX revision is published. Where an immediate update is not possible, the most direct mitigation is to add the missing wrap check in the Module Manager's allocation path - reject any object_size where object_size > ULONG_MAX - 16 (returning an invalid-parameter status) before adding the 16-byte private header and calling into the object pool; this is a small, self-contained source change and removes the primitive entirely, at the cost of carrying and re-validating a local patch against each upstream update. A broader compensating control is to remove the module subsystem from the build (drop the txm module manager and TXM_MODULE configuration) for products that do not need dynamic module loading; this eliminates the attack surface outright but forfeits the ability to load modules, add functionality in the field, or reuse prebuilt module images. If modules are required, restrict module loading to authenticated, signed, and integrity-checked images from trusted sources and avoid granting module execution to less-trusted parties, since the assessed prerequisite is that the attacker can already run code within a module; this closes the untrusted-module vector but does not fix the underlying arithmetic defect, so any bug in an otherwise trusted module still reaches the corruptible allocator.
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
Eclipse ThreadX is a real-time operating system whose optional module subsystem lets separately built modules be loaded and run alongside the kernel under the control of the txm Module Manager. Modules request kernel objects through txm_module_object_allocate, passing an object_size that the manager treats as untrusted, then prepends a fixed 16-byte private header describing the allocation before handing the block back. The root cause is CWE-190 (Integer Overflow or Wraparound): the addition of that 16-byte header to the caller-supplied object_size is performed without checking whether the result exceeds ULONG_MAX, so a size at the very top of the unsigned-long range wraps to a small value, the object pool returns a correspondingly small block, and the manager writes the 16-byte header past the end of the returned block and into the next byte-pool block. This is a classic heap/pool metadata corruption primitive in which an attacker-influenced length drives an allocation smaller than the write that follows it, giving the attacker the ability to overwrite neighbouring pool memory (assessed integrity and availability impact High, confidentiality impact Low). The attack surface is deliberately constrained: it is AV:L - the attacker must already be executing as a loaded module able to invoke txm_module_object_allocate - and PR:L, requiring only low privileges once inside that module context, with UI:N. The CPE entry cpe:2.3:a:eclipse_foundation:eclipse_threadx:*:*:*:*:*:*:*:* marks the whole Eclipse ThreadX product line as the affected component, but exposure in practice depends on whether the deployment builds and uses the txm module manager at all; firmware images that omit the module subsystem never reach the vulnerable code path.
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:H/VA:H/SC:N/SI:N/SA:N
Attacker must run as a low-privilege module to control object_size, so AV:L and PR:L; header overwrite corrupts an adjacent block giving I:H/A:H with only limited read exposure (C:L).
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
A ThreadX module chooses object_size when it calls txm_module_object_allocate. The Module Manager adds its own 16-byte private header to that size and asked the object pool for the result without checking the addition. A size near the top of a ULONG wrapped, the pool served a block far smaller than the header, and the manager then wrote the header past the end of it and into the neighbouring byte-pool block.
Technical POC Analysis
CWE-190 (integer overflow / wraparound), chaining to CWE-680 and CWE-787.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity integer overflow in the Eclipse ThreadX module manager undermines the isolation boundary that products relying on ThreadX modules depend on for safety and security partitioning. The flaw can only be reached by an attacker who already has code executing inside a loaded module, but success corrupts adjacent memory pools and can let one module affect another module or the supervisor - eroding the containment guarantee that justifies the module architecture in the first place. Leadership should care because no vendor patch is currently available, so every shipped product that compiles in the ThreadX module subsystem carries an unmitigated memory-corruption path inside its trust boundary.
No vendor-released patch identified at time of analysis. Interim mitigations: load only signed or first-party modules and disable dynamic third-party module loading where the product allows it; add a bounds check or clamping shim around txm_module_object_allocate so object_size plus the 16-byte private header cannot wrap; audit module code for attacker-influenced allocation sizes and treat any loaded module as untrusted; where feasible, disable the ThreadX module subsystem in builds that do not strictly require it; and apply MPU/MMU partitioning so a corrupted pool cannot reach supervisor memory.
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
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
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_
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
Eclipse ThreadX's memory-protected module support under-validates queue extents in the front-send path: the Module Manag
EUVD-2026-105151
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB