LiveActive security incident?Get immediate response
CVE Record

CVE-2026-0648: The vulnerability stems from an incorrect error-checking logic in the CreateCounter() function (in threadx/...

The vulnerability stems from an incorrect error-checking logic in the CreateCounter() function (in threadx/utility/rtos_compatibility_layers/OSEK/tx_osek.c) when handling the return value of osek_get_counter(). Specifically, the current code checks if cntr_id equals 0u to determine failure, but @osek_get_counter() actually returns E_OS_SYS_STACK (defined as 12U) when it fails. This mismatch causes the error branch to never execute even when the counter pool is exhausted. As a result, when the counter pool is depleted, the code proceeds to cast the error code (12U) to a pointer (OSEK_COUNTER *), creating a wild pointer. Subsequent writes to members of this pointer lead to writes to illegal memory addresses (e.g., 0x0000000C), which can trigger immediate HardFaults or silent memory corruption. This vulnerability poses significant risks, including potential denial-of-service attacks (via repeated calls to exhaust the counter pool) and unauthorized memory access.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2026-0648 affects Eclipse ThreadX 6.1.7. A logic error in counter creation can treat an error code as a memory pointer when counters run out. In embedded systems, this could crash the device or corrupt memory. The provided sources do not show active exploitation or a named patch.

Executive priority

Treat as high priority for embedded products using ThreadX 6.1.7 with OSEK features. The issue can crash devices or corrupt memory, but available evidence suggests local, high-complexity exploitation and no confirmed active exploitation. Prioritize inventory and vendor guidance before emergency response.

Technical view

In threadx/utility/rtos_compatibility_layers/OSEK/tx_osek.c, CreateCounter() checks for 0u on osek_get_counter() failure, but failure returns E_OS_SYS_STACK (12U). The error path is skipped, 12U may be cast to OSEK_COUNTER *, and later member writes target illegal memory, causing HardFaults or corruption. CVSS 3.1: 7.8, local, high complexity, low privileges.

Likely exposure

Exposure is likely limited to systems running Eclipse ThreadX 6.1.7 that include or use the OSEK compatibility layer and CreateCounter() path. The CVSS vector indicates local access and low privileges are required, with high attack complexity. Default status in the provided record is otherwise unaffected.

Exploitation context

No cited source or KEV entry indicates active exploitation. The described condition requires counter pool exhaustion and reaching the vulnerable CreateCounter() logic. Impact can include denial of service through device faults and possible confidentiality, integrity, or availability impact from memory corruption.

Researcher notes

This is a CWE-253 incorrect check of function return value. The key mismatch is failure detection: CreateCounter() checks cntr_id == 0u, while osek_get_counter() returns 12U on failure. The resulting wild pointer write is the core memory-safety concern. Public sources do not name a fix.

Mitigation direction

  • Inventory products and firmware using Eclipse ThreadX 6.1.7.
  • Check the Eclipse ThreadX advisory for confirmed fixed versions or vendor guidance.
  • Prioritize devices using the OSEK compatibility layer or CreateCounter().
  • Restrict untrusted local access to interfaces that can trigger counter creation.
  • Plan firmware updates through normal embedded-device validation and rollout processes.

Validation and detection

  • Confirm whether deployed firmware includes Eclipse ThreadX 6.1.7.
  • Determine whether tx_osek.c and the OSEK compatibility layer are compiled in.
  • Review whether application logic can exhaust the counter pool.
  • Use non-production robustness testing to confirm safe behavior on counter exhaustion.
  • Track vendor advisory updates for patches, workarounds, and affected-version clarifications.
Prepared
Confidence
high
Sources
3

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-253: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-0648 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
2Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H1.16Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2026-0648Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
Eclipse FoundationEclipse ThreadX6.1.7unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-253 · source CWE mapping

Incorrect Check of Function Return Value

Incorrect Check of Function Return Value represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.