Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRun attacker-controlled user-mode module locally
-
DeliverySet PSP just above writable region start
-
ExploitTrigger PendSV context-switch preemption
-
ExecutionPrivileged out-of-bounds write of eight chosen words + EXC_RETURN
-
ImpactHijack Handler-mode control flow and corrupt kernel/application memory
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 a system using the ThreadX Module Manager on a Cortex-M module port (Cortex-M0+, M3, M4, M7, M23 or M33, any supported toolchain) that loads a user-mode, memory-protected module the attacker controls; the attacker's module freely sets its process stack pointer to point just above the start of its own data region or of an application-granted writable shared region. Limiting factors that bound real-world risk: exploitation is local only (no remote trigger), the attacker must already be running code inside a loaded memory-protected module (PR:L), and kernel-mode threads and any system not using loadable memory-protected modules are unaffected. A writable shared region granted to the module makes the corrupted target application data in every memory layout; otherwise what sits below the data region (alignment padding, byte-pool metadata, or the preceding allocation) depends on the module manager's layout. |
| Impact | All exploitability signals point to a locally-scoped, privilege-dependent flaw rather than a mass-exploitation threat. The vendor CVSS:4.0 vector is AV:L/AC:L/AT:N/PR:L/UI:N (CVSS-B 7.0 High): exploitation is local, low-complexity, requires no attacker-uncontrolled conditions, but does require some privilege (PR:L) because the attacker must already control a loaded user-mode, memory-protected module on a Cortex-M Module Manager port. There is no CISA KEV listing and no EPSS score in the provided data, so there is no quantitative exploitation-probability signal to weigh - this is a gap, not evidence of low risk. No standalone public exploit is provided; the GHSA advisory does include a QEMU regression test that demonstrates the out-of-bounds write primitive, but that is a proof artifact bundled with the fix, not weaponized exploit code. The vuln.today decision label is 'this_week', consistent with a serious-but-not-emergency sandbox-escape primitive. Net: this is a genuine security-boundary defeat (user-mode module escaping MPU isolation to write privileged memory and hijack Handler-mode control flow), but its real-world reach is bounded by the requirement to already run an attacker-controlled module locally, so it is a real priority specifically for systems that load untrusted or third-party ThreadX modules, and considerably lower risk where all loaded modules are trusted. Impact asymmetry is notable: integrity and availability are High (VI:H/VA:H) while confidentiality is only Low (VC:L), matching a primitive that chiefly corrupts/controls rather than discloses. |
| Exploit ScenarioDerived | On a Cortex-M ThreadX device using the Module Manager, an attacker who controls a loaded user-mode memory-protected module sets its process stack pointer about 32 bytes above the start of its data region or a granted writable shared region. When PendSV preempts the thread in privileged Handler mode, it saves registers downward from that unchecked pointer, writing up to eight attacker-chosen words plus an EXC_RETURN value into privileged memory immediately below the region; on the next switch-in PendSV reloads those words and branches to the attacker-supplied EXC_RETURN. No public exploit is identified, though the advisory ships a QEMU regression test that triggers the primitive. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Out-of-bounds write in the Cortex-M module ports of Eclipse ThreadX 6.0.1 through 6.5.2.202603 lets a user-mode, memory-protected module thread escape its sandbox: the PendSV handler saves the preempted thread's callee-saved registers and EXC_RETURN value in privileged mode at addresses taken from the thread's process stack pointer without checking it against the thread's stack, so a module that places its stack pointer just above a writable region has up to nine words (25 with floating-point state) written below that region and read back on the next switch-in, and PendSV later branches in Handler mode to the reloaded EXC_RETURN slot. Exploitation is local only (CVSS:4.0 PR:L, assessed CVSS:3.1 PR:L with Scope Changed), requires a system using the Module Manager that loads a user-mode memory-protected module the attacker already controls, and leaves kernel-mode threads and systems without loadable memory-protected modules unaffected; no public exploit code was identified at the time of analysis and the issue is not in CISA KEV, with vendors shipping a fix in ThreadX 6.5.2.202603b.
RemediationAI
Apply the vendor fix in Eclipse ThreadX 6.5.2.202603b, per GHSA-c38r-v552-gh5g (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-c38r-v552-gh5g): when the preempted thread is a user-mode thread of a memory-protected module, PendSV now saves its context through the stack pointer only if the pointer lies within the thread's stack and the stores fit above the stack's start, otherwise it saves the context on the thread's kernel stack, which the module cannot reach, so the thread faults on resume and is terminated - covering the Cortex-M0+, M3, M4, M7, M23 and M33 module ports for every toolchain, with kernel-mode threads unaffected. The vendor notes that the IAR and AC5 sources were changed identically but not assembled, and that the Cortex-M0+, M7, M23 and M33 ports were not run under the accompanying QEMU regression test, so validate the patched build on those configurations before relying on it. Note the exposure precondition stated in the advisory: the flaw requires a system that loads a user-mode, memory-protected module controlled by the attacker, so the vendor's update is the complete fix for such deployments rather than a workaround being offered.
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 module ports on ARM Cortex-M (M0+, M3, M4, M7, M23, M33) run loadable user-mode modules behind the MPU, and context switching is done by the PendSV exception running in Handler mode with privileged access and the privileged default MPU map. On switch-out, PendSV reads the thread's PSP and stores r4-r11, s16-s31 when the exception frame includes floating-point state, and the EXC_RETURN value downward from it, then records the resulting address as the saved stack pointer. Because exception-entry stacking of the eight-word hardware frame happens with the thread's own privilege, the frame must land in module-writable memory, but the additional privileged stores below it are not bounded: on ARMv8-M, PSPLIM constrains the hardware frame and the thread's own stack-pointer writes but not PendSV's privileged stores. The root cause spans CWE-787 (out-of-bounds write) and CWE-822 (untrusted pointer dereference) - an untrusted user-controlled stack pointer is dereferenced in privileged mode without validating it against the thread's stack bounds. The consequence is both a write of up to eight attacker-chosen values (24 with FPU state) plus an EXC_RETURN word into memory the module may not access - alignment padding, byte-pool metadata, the end of a preceding allocation, or, below a granted writable shared region, application memory in every layout - and a read-back of whatever the kernel or application wrote there in the interim, with a privileged Handler-mode branch to whatever value occupies the EXC_RETURN slot on resume.
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
Local, low-complexity attack from a loaded module (PR:L); escaping MPU isolation into privileged memory crosses a security authority (S:C); readback C:L, chosen writes/control-flow I:H, faults A:H.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
In Eclipse ThreadX versions 6.0.1 through 6.5.2.202603, the PendSV handler of the Cortex-M module ports saves a preempted user-mode module thread's registers in privileged mode at addresses taken from the thread's stack pointer, without checking that pointer against the thread's stack. A user-mode, memory-protected module can thereby write up to nine words, eight of its choosing, or 25 with floating-point state, into memory immediately below any region it may write, and read back what is stored there.
Technical POC Analysis
Evidence basis: the GitHub advisory GHSA-c38r-v552-gh5g only.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-115653 is a high-severity vulnerability in Eclipse ThreadX (versions 6.0.1 through 6.5.2.202603) that allows a local attacker with a malicious, user-mode memory-protected module to escape its sandbox and potentially compromise the entire system. Organizations using ThreadX with the Module Manager and loading third-party or untrusted modules are at risk; if such a module is already under attacker control, the impact could include arbitrary code execution in privileged mode, undermining device integrity and confidentiality.
No vendor-released patch identified at time of analysis. Interim mitigations: disable Module Manager or user-mode memory-protected module loading if not essential; enforce strict module authentication and integrity checks (e.g., digital signatures) to prevent loading of attacker-controlled modules; restrict physical and local access to devices; monitor for suspicious module activity; apply principle of least privilege for module execution.
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.
More in Eclipse Threadx
View allDenial of service in the Eclipse ThreadX NetX Duo NetX Secure DTLS server (versions 6.0 through 6.5.2.202603a) lets remo
A NULL pointer dereference in the Eclipse ThreadX NetX Duo IPv6 stack lets an unauthenticated sender on the network cras
Privilege escalation in the Eclipse ThreadX Module Manager (versions 6.0.1 through 6.5.2.202603) lets a user-mode, memor
Eclipse 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_
Denial of service in Eclipse ThreadX NetX Duo 6.0 through 6.5.2.202603a: the BSD raw IPv6 send path adds a destination-t
Use-after-free in Eclipse ThreadX Modules (6.0.1 through 6.5.2.202603) leaves a user-mode module's trace-buffer-full cal
Integer overflow in the Eclipse ThreadX module manager lets a loaded module under-allocate an object-pool block and corr
The Eclipse ThreadX Module Manager fails to enforce thread ownership in its thread-control dispatchers, so a loaded user
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
Eclipse ThreadX 6.0.1 through 6.5.2.202603 can be left with its Module Manager permanently deadlocked: when a module pre
EUVD-2026-115232
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB